[
  {
    "path": ".github/FUNDING.yml",
    "content": "# These are supported funding model platforms\n\ngithub: onmyway133\npatreon: # Replace with a single Patreon username\nopen_collective: # Replace with a single Open Collective username\nko_fi: # Replace with a single Ko-fi username\ntidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel\ncommunity_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry\nliberapay: # Replace with a single Liberapay username\nissuehunt: # Replace with a single IssueHunt username\notechie: # Replace with a single Otechie username\ncustom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']\n"
  },
  {
    "path": ".gitignore",
    "content": "# OS X\n.DS_Store\n.AppleDouble\n.LSOverride\nIcon\n._*\n.Spotlight-V100\n.Trashes\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\nPods\n\n# Carthage\nCarthage\n\n# SPM\n.build/\n"
  },
  {
    "path": ".slather.yml",
    "content": "ci_service: travis_ci\ncoverage_service: coveralls\nxcodeproj: SwiftHash.xcodeproj\nsource_directory: Sources\n"
  },
  {
    "path": ".swift-version",
    "content": "4.1\n"
  },
  {
    "path": ".travis.yml",
    "content": "osx_image: xcode7.3\nlanguage: objective-c\n\nbefore_install:\n- brew update\n- if brew outdated | grep -qx carthage; then brew upgrade carthage; fi\n- travis_wait 35 carthage bootstrap --platform iOS,Mac\n\nscript:\n- xcodebuild clean build -project SwiftHash.xcodeproj -scheme SwiftHash-iOS -sdk iphonesimulator\n- xcodebuild test -project SwiftHash.xcodeproj -scheme SwiftHash-iOS -sdk iphonesimulator\n- xcodebuild clean build -project SwiftHash.xcodeproj -scheme SwiftHash-Mac -sdk macosx\n- xcodebuild test -project SwiftHash.xcodeproj -scheme SwiftHash-Mac -sdk macosx\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "GitHub Issues is for reporting bugs, discussing features and general feedback in **SwiftHash**. Be sure to check our [documentation](http://cocoadocs.org/docsets/SwiftHash), [FAQ](https://github.com/onmyway133/SwiftHash/wiki/FAQ) and [past issues](https://github.com/onmyway133/SwiftHash/issues?state=closed) before opening any new issues.\n\nIf you are posting about a crash in your application, a stack trace is helpful, but additional context, in the form of code and explanation, is necessary to be of any use.\n"
  },
  {
    "path": "Example/SwiftHashDemo/Podfile",
    "content": "use_frameworks!\n\nplatform :ios, '8.0'\n\ntarget 'SwiftHashDemo' do\n pod 'SwiftHash', path: '../../'\nend\n\n"
  },
  {
    "path": "Example/SwiftHashDemo/SwiftHashDemo/Base.lproj/LaunchScreen.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"9531\" systemVersion=\"15C50\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" launchScreen=\"YES\" useTraitCollections=\"YES\" initialViewController=\"01J-lp-oVM\">\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"9529\"/>\n    </dependencies>\n    <scenes>\n        <!--View Controller-->\n        <scene sceneID=\"EHf-IW-A2E\">\n            <objects>\n                <viewController id=\"01J-lp-oVM\" sceneMemberID=\"viewController\">\n                    <layoutGuides>\n                        <viewControllerLayoutGuide type=\"top\" id=\"Llm-lL-Icb\"/>\n                        <viewControllerLayoutGuide type=\"bottom\" id=\"xb3-aO-Qok\"/>\n                    </layoutGuides>\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"Ze5-6b-2t3\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"600\" height=\"600\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"calibratedWhite\"/>\n                    </view>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"iYj-Kq-Ea1\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"53\" y=\"375\"/>\n        </scene>\n    </scenes>\n</document>\n"
  },
  {
    "path": "Example/SwiftHashDemo/SwiftHashDemo/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</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Example/SwiftHashDemo/SwiftHashDemo/Resources/Assets.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}\n"
  },
  {
    "path": "Example/SwiftHashDemo/SwiftHashDemo/Sources/AppDelegate.swift",
    "content": "import UIKit\nimport SwiftHash\n\n@UIApplicationMain\nclass AppDelegate: UIResponder, UIApplicationDelegate {\n\n  var window: UIWindow?\n\n  lazy var navigationController: UINavigationController = { [unowned self] in\n    let controller = UINavigationController(rootViewController: self.viewController)\n    return controller\n    }()\n\n  lazy var viewController: ViewController = {\n    let controller = ViewController()\n    return controller\n    }()\n\n  func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {\n    window = UIWindow(frame: UIScreen.mainScreen().bounds)\n    window?.rootViewController = navigationController\n    window?.makeKeyAndVisible()\n\n    return true\n  }\n}\n"
  },
  {
    "path": "Example/SwiftHashDemo/SwiftHashDemo/Sources/ViewController.swift",
    "content": "import UIKit\nimport SwiftHash\n\nclass ViewController: UIViewController {\n\n  override func viewDidLoad() {\n    super.viewDidLoad()\n    view.backgroundColor = UIColor.whiteColor()\n  }\n}\n\n"
  },
  {
    "path": "Example/SwiftHashDemo/SwiftHashDemo.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\tD5C7F74E1C3BC9CE008CDDBA /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D5C7F74C1C3BC9CE008CDDBA /* LaunchScreen.storyboard */; };\n\t\tD5C7F75B1C3BCA1E008CDDBA /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D5C7F7571C3BCA1E008CDDBA /* Assets.xcassets */; };\n\t\tD5C7F75C1C3BCA1E008CDDBA /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5C7F7591C3BCA1E008CDDBA /* AppDelegate.swift */; };\n\t\tD5C7F75D1C3BCA1E008CDDBA /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5C7F75A1C3BCA1E008CDDBA /* ViewController.swift */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\tD5C7F7401C3BC9CE008CDDBA /* SwiftHashDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SwiftHashDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tD5C7F74D1C3BC9CE008CDDBA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = \"<group>\"; };\n\t\tD5C7F74F1C3BC9CE008CDDBA /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\tD5C7F7571C3BCA1E008CDDBA /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = \"<group>\"; };\n\t\tD5C7F7591C3BCA1E008CDDBA /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = \"<group>\"; };\n\t\tD5C7F75A1C3BCA1E008CDDBA /* ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tD5C7F73D1C3BC9CE008CDDBA /* 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\tD5C7F7371C3BC9CE008CDDBA = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD5C7F7421C3BC9CE008CDDBA /* SwiftHashDemo */,\n\t\t\t\tD5C7F7411C3BC9CE008CDDBA /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD5C7F7411C3BC9CE008CDDBA /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD5C7F7401C3BC9CE008CDDBA /* SwiftHashDemo.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD5C7F7421C3BC9CE008CDDBA /* SwiftHashDemo */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD5C7F7561C3BCA1E008CDDBA /* Resources */,\n\t\t\t\tD5C7F7581C3BCA1E008CDDBA /* Sources */,\n\t\t\t\tD5C7F7551C3BC9EA008CDDBA /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = SwiftHashDemo;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD5C7F7551C3BC9EA008CDDBA /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD5C7F74C1C3BC9CE008CDDBA /* LaunchScreen.storyboard */,\n\t\t\t\tD5C7F74F1C3BC9CE008CDDBA /* Info.plist */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD5C7F7561C3BCA1E008CDDBA /* Resources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD5C7F7571C3BCA1E008CDDBA /* Assets.xcassets */,\n\t\t\t);\n\t\t\tpath = Resources;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD5C7F7581C3BCA1E008CDDBA /* Sources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD5C7F7591C3BCA1E008CDDBA /* AppDelegate.swift */,\n\t\t\t\tD5C7F75A1C3BCA1E008CDDBA /* ViewController.swift */,\n\t\t\t);\n\t\t\tpath = Sources;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tD5C7F73F1C3BC9CE008CDDBA /* SwiftHashDemo */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = D5C7F7521C3BC9CE008CDDBA /* Build configuration list for PBXNativeTarget \"SwiftHashDemo\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tD5C7F73C1C3BC9CE008CDDBA /* Sources */,\n\t\t\t\tD5C7F73D1C3BC9CE008CDDBA /* Frameworks */,\n\t\t\t\tD5C7F73E1C3BC9CE008CDDBA /* 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 = SwiftHashDemo;\n\t\t\tproductName = SwiftHashDemo;\n\t\t\tproductReference = D5C7F7401C3BC9CE008CDDBA /* SwiftHashDemo.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tD5C7F7381C3BC9CE008CDDBA /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastSwiftUpdateCheck = 0720;\n\t\t\t\tLastUpgradeCheck = 1020;\n\t\t\t\tORGANIZATIONNAME = \"Hyper Interaktiv AS\";\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\tD5C7F73F1C3BC9CE008CDDBA = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.2;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = D5C7F73B1C3BC9CE008CDDBA /* Build configuration list for PBXProject \"SwiftHashDemo\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\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 = D5C7F7371C3BC9CE008CDDBA;\n\t\t\tproductRefGroup = D5C7F7411C3BC9CE008CDDBA /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tD5C7F73F1C3BC9CE008CDDBA /* SwiftHashDemo */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tD5C7F73E1C3BC9CE008CDDBA /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD5C7F75B1C3BCA1E008CDDBA /* Assets.xcassets in Resources */,\n\t\t\t\tD5C7F74E1C3BC9CE008CDDBA /* LaunchScreen.storyboard 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\tD5C7F73C1C3BC9CE008CDDBA /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD5C7F75D1C3BCA1E008CDDBA /* ViewController.swift in Sources */,\n\t\t\t\tD5C7F75C1C3BCA1E008CDDBA /* AppDelegate.swift 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\tD5C7F74C1C3BC9CE008CDDBA /* LaunchScreen.storyboard */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tD5C7F74D1C3BC9CE008CDDBA /* 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\tD5C7F7501C3BC9CE008CDDBA /* 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_LOCALIZABILITY_NONLOCALIZED = 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_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\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\tIPHONEOS_DEPLOYMENT_TARGET = 9.2;\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_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tD5C7F7511C3BC9CE008CDDBA /* 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_LOCALIZABILITY_NONLOCALIZED = 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_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\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\tIPHONEOS_DEPLOYMENT_TARGET = 9.2;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_COMPILATION_MODE = wholemodule;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tD5C7F7531C3BC9CE008CDDBA /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tINFOPLIST_FILE = SwiftHashDemo/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.fantageek.SwiftHash.SwiftHashDemo;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tD5C7F7541C3BC9CE008CDDBA /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tINFOPLIST_FILE = SwiftHashDemo/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.fantageek.SwiftHash.SwiftHashDemo;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tD5C7F73B1C3BC9CE008CDDBA /* Build configuration list for PBXProject \"SwiftHashDemo\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD5C7F7501C3BC9CE008CDDBA /* Debug */,\n\t\t\t\tD5C7F7511C3BC9CE008CDDBA /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tD5C7F7521C3BC9CE008CDDBA /* Build configuration list for PBXNativeTarget \"SwiftHashDemo\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD5C7F7531C3BC9CE008CDDBA /* Debug */,\n\t\t\t\tD5C7F7541C3BC9CE008CDDBA /* 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 = D5C7F7381C3BC9CE008CDDBA /* Project object */;\n}\n"
  },
  {
    "path": "Example/SwiftHashDemo/SwiftHashDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"self:SwiftHashDemo.xcodeproj\">\n   </FileRef>\n</Workspace>\n"
  },
  {
    "path": "Example/SwiftHashDemo/SwiftHashDemo.xcodeproj/xcshareddata/xcschemes/SwiftHashDemo.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"1020\"\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 = \"D5C7F73F1C3BC9CE008CDDBA\"\n               BuildableName = \"SwiftHashDemo.app\"\n               BlueprintName = \"SwiftHashDemo\"\n               ReferencedContainer = \"container:SwiftHashDemo.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 = \"D5C7F73F1C3BC9CE008CDDBA\"\n            BuildableName = \"SwiftHashDemo.app\"\n            BlueprintName = \"SwiftHashDemo\"\n            ReferencedContainer = \"container:SwiftHashDemo.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 = \"D5C7F73F1C3BC9CE008CDDBA\"\n            BuildableName = \"SwiftHashDemo.app\"\n            BlueprintName = \"SwiftHashDemo\"\n            ReferencedContainer = \"container:SwiftHashDemo.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 = \"D5C7F73F1C3BC9CE008CDDBA\"\n            BuildableName = \"SwiftHashDemo.app\"\n            BlueprintName = \"SwiftHashDemo\"\n            ReferencedContainer = \"container:SwiftHashDemo.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": "LICENSE.md",
    "content": "Licensed under the **MIT** license\n\n> Copyright (c) 2015 Khoa Pham\n>\n> Permission is hereby granted, free of charge, to any person obtaining\n> a copy of this software and associated documentation files (the\n> \"Software\"), to deal in the Software without restriction, including\n> without limitation the rights to use, copy, modify, merge, publish,\n> distribute, sublicense, and/or sell copies of the Software, and to\n> permit persons to whom the Software is furnished to do so, subject to\n> the following conditions:\n>\n> The above copyright notice and this permission notice shall be\n> included in all copies or substantial portions of the Software.\n>\n> THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "Package.swift",
    "content": "import PackageDescription\nlet package = Package(\n  name: \"SwiftHash\"\n)\n"
  },
  {
    "path": "Package@swift-4.swift",
    "content": "// swift-tools-version:4.0\nimport PackageDescription\n\nlet package = Package(\n  name: \"SwiftHash\",\n  products: [\n    .library(name: \"SwiftHash\", targets: [\"SwiftHash\"])\n  ],\n  dependencies: [],\n  targets: [ .target(name: \"SwiftHash\", path: \"Sources\") ]\n)\n"
  },
  {
    "path": "Playground-Mac.playground/Contents.swift",
    "content": "// SwiftHash Mac Playground\n\nimport Cocoa\nimport SwiftHash\n\nvar str = \"Hello, playground\"\n"
  },
  {
    "path": "Playground-Mac.playground/contents.xcplayground",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<playground version='5.0' target-platform='osx'>\n    <timeline fileName='timeline.xctimeline'/>\n</playground>\n"
  },
  {
    "path": "Playground-Mac.playground/timeline.xctimeline",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Timeline\n   version = \"3.0\">\n   <TimelineItems>\n   </TimelineItems>\n</Timeline>\n"
  },
  {
    "path": "Playground-iOS.playground/Contents.swift",
    "content": "// SwiftHash iOS Playground\n\nimport UIKit\nimport SwiftHash\n\nvar str = \"Hello, playground\"\n"
  },
  {
    "path": "Playground-iOS.playground/contents.xcplayground",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<playground version='5.0' target-platform='ios'>\n    <timeline fileName='timeline.xctimeline'/>\n</playground>\n"
  },
  {
    "path": "Playground-iOS.playground/timeline.xctimeline",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Timeline\n   version = \"3.0\">\n   <TimelineItems>\n   </TimelineItems>\n</Timeline>\n"
  },
  {
    "path": "README.md",
    "content": "# SwiftHash\n\nCheckout https://indiegoodies.com/\n\nHash in Swift\n\n[![CI Status](http://img.shields.io/travis/onmyway133/SwiftHash.svg?style=flat)](https://travis-ci.org/onmyway133/SwiftHash)\n[![Version](https://img.shields.io/cocoapods/v/SwiftHash.svg?style=flat)](http://cocoadocs.org/docsets/SwiftHash)\n[![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)\n[![License](https://img.shields.io/cocoapods/l/SwiftHash.svg?style=flat)](http://cocoadocs.org/docsets/SwiftHash)\n[![Platform](https://img.shields.io/cocoapods/p/SwiftHash.svg?style=flat)](http://cocoadocs.org/docsets/SwiftHash)\n<img src=\"https://img.shields.io/badge/%20in-swift%204.0-orange.svg\">\n\n![](Screenshots/Banner.png)\n\n## MD5\n\n```swift\nMD5(\"https://www.google.com\") // 8FFDEFBDEC956B595D257F0AAEEFD623\nMD5(\"https://unsplash.it/600/300/?image=1\") // D59E956EBB1BE415970F04EC77F4C875\n```\n\n## Installation\n\n#### CocoaPods\n**SwiftHash** is available through [CocoaPods](http://cocoapods.org). To install\nit, simply add the following line to your Podfile:\n\n```ruby\npod 'SwiftHash'\n```\n\n#### Carthage\n**SwiftHash** is also available through [Carthage](https://github.com/Carthage/Carthage).\nTo install just write into your Cartfile:\n\n```ruby\ngithub \"onmyway133/SwiftHash\"\n```\n\n#### Manually\n1. Download and drop ```/Sources``` folder in your project.  \n2. Congratulations!  \n\n#### Import on your swift file\n```\nimport SwiftHash \n```\n\n## Author\n\nKhoa Pham, onmyway133@gmail.com\n\n## Credit\n\n- MD5 based on http://pajhome.org.uk/crypt/md5/md5.html\n\n## Contributing\n\nWe would love you to contribute to **SwiftHash**, check the [CONTRIBUTING](https://github.com/onmyway133/SwiftHash/blob/master/CONTRIBUTING.md) file for more info.\n\n## License\n\n**SwiftHash** is available under the MIT license. See the [LICENSE](https://github.com/onmyway133/SwiftHash/blob/master/LICENSE.md) file for more info.\n"
  },
  {
    "path": "Sources/MD5.swift",
    "content": "/*\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\n\n/**\n *  SwiftHash\n *  Copyright (c) Khoa Pham 2017\n *  Licensed under the MIT license. See LICENSE file.\n */\n\nimport Foundation\n\n// MARK: - Public\n\npublic func MD5(_ input: String) -> String {\n  return hex_md5(input)\n}\n\n// MARK: - Functions\n\nfunc hex_md5(_ input: String) -> String {\n  return rstr2hex(rstr_md5(str2rstr_utf8(input)))\n}\n\nfunc str2rstr_utf8(_ input: String) -> [CUnsignedChar] {\n  return Array(input.utf8)\n}\n\nfunc rstr2tr(_ input: [CUnsignedChar]) -> String {\n  var output: String = \"\"\n\n  input.forEach {\n    output.append(String(UnicodeScalar($0)))\n  }\n\n  return output\n}\n\n/*\n * Convert a raw string to a hex string\n */\nfunc rstr2hex(_ input: [CUnsignedChar]) -> String {\n  let hexTab: [Character] = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\"]\n  var output: [Character] = []\n\n  for i in 0..<input.count {\n    let x = input[i]\n    let value1 = hexTab[Int((x >> 4) & 0x0F)]\n    let value2 = hexTab[Int(Int32(x) & 0x0F)]\n\n    output.append(value1)\n    output.append(value2)\n  }\n\n  return String(output)\n}\n\n/*\n * Convert a raw string to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\nfunc rstr2binl(_ input: [CUnsignedChar]) -> [Int32] {\n  var output: [Int: Int32] = [:]\n\n  for i in stride(from: 0, to: input.count * 8, by: 8) {\n    let value: Int32 = (Int32(input[i/8]) & 0xFF) << (Int32(i) % 32)\n\n    output[i >> 5] = unwrap(output[i >> 5]) | value\n  }\n\n  return dictionary2array(output)\n}\n\n/*\n * Convert an array of little-endian words to a string\n */\nfunc binl2rstr(_ input: [Int32]) -> [CUnsignedChar] {\n  var output: [CUnsignedChar] = []\n\n  for i in stride(from: 0, to: input.count * 32, by: 8) {\n    // [i>>5] >>>\n    let value: Int32 = zeroFillRightShift(input[i>>5], Int32(i % 32)) & 0xFF\n    output.append(CUnsignedChar(value))\n  }\n\n  return output\n}\n\n/*\n * Calculate the MD5 of a raw string\n */\nfunc rstr_md5(_ input: [CUnsignedChar]) -> [CUnsignedChar] {\n  return binl2rstr(binl_md5(rstr2binl(input), input.count * 8))\n}\n\n/*\n * Add integers, wrapping at 2^32.\n */\nfunc safe_add(_ x: Int32, _ y: Int32) -> Int32 {\n  return x &+ y\n}\n\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\nfunc bit_rol(_ num: Int32, _ cnt: Int32) -> Int32 {\n  // num >>>\n  return (num << cnt) | zeroFillRightShift(num, (32 - cnt))\n}\n\n\n/*\n * These funcs implement the four basic operations the algorithm uses.\n */\nfunc md5_cmn(_ q: Int32, _ a: Int32, _ b: Int32, _ x: Int32, _ s: Int32, _ t: Int32) -> Int32 {\n  return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b)\n}\n\nfunc md5_ff(_ a: Int32, _ b: Int32, _ c: Int32, _ d: Int32, _ x: Int32, _ s: Int32, _ t: Int32) -> Int32 {\n  return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t)\n}\n\nfunc md5_gg(_ a: Int32, _ b: Int32, _ c: Int32, _ d: Int32, _ x: Int32, _ s: Int32, _ t: Int32) -> Int32 {\n  return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t)\n}\n\nfunc md5_hh(_ a: Int32, _ b: Int32, _ c: Int32, _ d: Int32, _ x: Int32, _ s: Int32, _ t: Int32) -> Int32 {\n  return md5_cmn(b ^ c ^ d, a, b, x, s, t)\n}\n\nfunc md5_ii(_ a: Int32, _ b: Int32, _ c: Int32, _ d: Int32, _ x: Int32, _ s: Int32, _ t: Int32) -> Int32 {\n  return md5_cmn(c ^ (b | (~d)), a, b, x, s, t)\n}\n\n\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\nfunc binl_md5(_ input: [Int32], _ len: Int) -> [Int32] {\n  /* append padding */\n\n  var x: [Int: Int32] = [:]\n  for (index, value) in input.enumerated() {\n    x[index] = value\n  }\n\n  let value: Int32 = 0x80 << Int32((len) % 32)\n  x[len >> 5] = unwrap(x[len >> 5]) | value\n\n  // >>> 9\n  let index = (((len + 64) >> 9) << 4) + 14\n  x[index] = unwrap(x[index]) | Int32(len)\n\n  var a: Int32 =  1732584193\n  var b: Int32 = -271733879\n  var c: Int32 = -1732584194\n  var d: Int32 =  271733878\n\n  for i in stride(from: 0, to: length(x), by: 16) {\n    let olda: Int32 = a\n    let oldb: Int32 = b\n    let oldc: Int32 = c\n    let oldd: Int32 = d\n\n    a = md5_ff(a, b, c, d, unwrap(x[i + 0]), 7 , -680876936)\n    d = md5_ff(d, a, b, c, unwrap(x[i + 1]), 12, -389564586)\n    c = md5_ff(c, d, a, b, unwrap(x[i + 2]), 17,  606105819)\n    b = md5_ff(b, c, d, a, unwrap(x[i + 3]), 22, -1044525330)\n    a = md5_ff(a, b, c, d, unwrap(x[i + 4]), 7 , -176418897)\n    d = md5_ff(d, a, b, c, unwrap(x[i + 5]), 12,  1200080426)\n    c = md5_ff(c, d, a, b, unwrap(x[i + 6]), 17, -1473231341)\n    b = md5_ff(b, c, d, a, unwrap(x[i + 7]), 22, -45705983)\n    a = md5_ff(a, b, c, d, unwrap(x[i + 8]), 7 ,  1770035416)\n    d = md5_ff(d, a, b, c, unwrap(x[i + 9]), 12, -1958414417)\n    c = md5_ff(c, d, a, b, unwrap(x[i + 10]), 17, -42063)\n    b = md5_ff(b, c, d, a, unwrap(x[i + 11]), 22, -1990404162)\n    a = md5_ff(a, b, c, d, unwrap(x[i + 12]), 7 ,  1804603682)\n    d = md5_ff(d, a, b, c, unwrap(x[i + 13]), 12, -40341101)\n    c = md5_ff(c, d, a, b, unwrap(x[i + 14]), 17, -1502002290)\n    b = md5_ff(b, c, d, a, unwrap(x[i + 15]), 22,  1236535329)\n\n    a = md5_gg(a, b, c, d, unwrap(x[i + 1]), 5 , -165796510)\n    d = md5_gg(d, a, b, c, unwrap(x[i + 6]), 9 , -1069501632)\n    c = md5_gg(c, d, a, b, unwrap(x[i + 11]), 14,  643717713)\n    b = md5_gg(b, c, d, a, unwrap(x[i + 0]), 20, -373897302)\n    a = md5_gg(a, b, c, d, unwrap(x[i + 5]), 5 , -701558691)\n    d = md5_gg(d, a, b, c, unwrap(x[i + 10]), 9 ,  38016083)\n    c = md5_gg(c, d, a, b, unwrap(x[i + 15]), 14, -660478335)\n    b = md5_gg(b, c, d, a, unwrap(x[i + 4]), 20, -405537848)\n    a = md5_gg(a, b, c, d, unwrap(x[i + 9]), 5 ,  568446438)\n    d = md5_gg(d, a, b, c, unwrap(x[i + 14]), 9 , -1019803690)\n    c = md5_gg(c, d, a, b, unwrap(x[i + 3]), 14, -187363961)\n    b = md5_gg(b, c, d, a, unwrap(x[i + 8]), 20,  1163531501)\n    a = md5_gg(a, b, c, d, unwrap(x[i + 13]), 5 , -1444681467)\n    d = md5_gg(d, a, b, c, unwrap(x[i + 2]), 9 , -51403784)\n    c = md5_gg(c, d, a, b, unwrap(x[i + 7]), 14,  1735328473)\n    b = md5_gg(b, c, d, a, unwrap(x[i + 12]), 20, -1926607734)\n\n    a = md5_hh(a, b, c, d, unwrap(x[i + 5]), 4 , -378558)\n    d = md5_hh(d, a, b, c, unwrap(x[i + 8]), 11, -2022574463)\n    c = md5_hh(c, d, a, b, unwrap(x[i + 11]), 16,  1839030562)\n    b = md5_hh(b, c, d, a, unwrap(x[i + 14]), 23, -35309556)\n    a = md5_hh(a, b, c, d, unwrap(x[i + 1]), 4 , -1530992060)\n    d = md5_hh(d, a, b, c, unwrap(x[i + 4]), 11,  1272893353)\n    c = md5_hh(c, d, a, b, unwrap(x[i + 7]), 16, -155497632)\n    b = md5_hh(b, c, d, a, unwrap(x[i + 10]), 23, -1094730640)\n    a = md5_hh(a, b, c, d, unwrap(x[i + 13]), 4 ,  681279174)\n    d = md5_hh(d, a, b, c, unwrap(x[i + 0]), 11, -358537222)\n    c = md5_hh(c, d, a, b, unwrap(x[i + 3]), 16, -722521979)\n    b = md5_hh(b, c, d, a, unwrap(x[i + 6]), 23,  76029189)\n    a = md5_hh(a, b, c, d, unwrap(x[i + 9]), 4 , -640364487)\n    d = md5_hh(d, a, b, c, unwrap(x[i + 12]), 11, -421815835)\n    c = md5_hh(c, d, a, b, unwrap(x[i + 15]), 16,  530742520)\n    b = md5_hh(b, c, d, a, unwrap(x[i + 2]), 23, -995338651)\n\n    a = md5_ii(a, b, c, d, unwrap(x[i + 0]), 6 , -198630844)\n    d = md5_ii(d, a, b, c, unwrap(x[i + 7]), 10,  1126891415)\n    c = md5_ii(c, d, a, b, unwrap(x[i + 14]), 15, -1416354905)\n    b = md5_ii(b, c, d, a, unwrap(x[i + 5]), 21, -57434055)\n    a = md5_ii(a, b, c, d, unwrap(x[i + 12]), 6 ,  1700485571)\n    d = md5_ii(d, a, b, c, unwrap(x[i + 3]), 10, -1894986606)\n    c = md5_ii(c, d, a, b, unwrap(x[i + 10]), 15, -1051523)\n    b = md5_ii(b, c, d, a, unwrap(x[i + 1]), 21, -2054922799)\n    a = md5_ii(a, b, c, d, unwrap(x[i + 8]), 6 ,  1873313359)\n    d = md5_ii(d, a, b, c, unwrap(x[i + 15]), 10, -30611744)\n    c = md5_ii(c, d, a, b, unwrap(x[i + 6]), 15, -1560198380)\n    b = md5_ii(b, c, d, a, unwrap(x[i + 13]), 21,  1309151649)\n    a = md5_ii(a, b, c, d, unwrap(x[i + 4]), 6 , -145523070)\n    d = md5_ii(d, a, b, c, unwrap(x[i + 11]), 10, -1120210379)\n    c = md5_ii(c, d, a, b, unwrap(x[i + 2]), 15,  718787259)\n    b = md5_ii(b, c, d, a, unwrap(x[i + 9]), 21, -343485551)\n\n    a = safe_add(a, olda)\n    b = safe_add(b, oldb)\n    c = safe_add(c, oldc)\n    d = safe_add(d, oldd)\n  }\n\n  return [a, b, c, d]\n}\n\n// MARK: - Helper\n\nfunc length(_ dictionary: [Int: Int32]) -> Int {\n  return (dictionary.keys.max() ?? 0) + 1\n}\n\nfunc dictionary2array(_ dictionary: [Int: Int32]) -> [Int32] {\n  var array = Array<Int32>(repeating: 0, count: dictionary.keys.count)\n\n  for i in Array(dictionary.keys).sorted() {\n    array[i] = unwrap(dictionary[i])\n  }\n\n  return array\n}\n\nfunc unwrap(_ value: Int32?, _ fallback: Int32 = 0) -> Int32 {\n  if let value = value {\n    return value\n  }\n\n  return fallback\n}\n\nfunc zeroFillRightShift(_ num: Int32, _ count: Int32) -> Int32 {\n  let value = UInt32(bitPattern: num) >> UInt32(bitPattern: count)\n  return Int32(bitPattern: value)\n}\n"
  },
  {
    "path": "Sources/SHA1.swift",
    "content": "//\n//  SHA1.swift\n//  SwiftHash\n//\n//  Created by Khoa Pham on 02/07/16.\n//  Copyright © 2016 Fantageek. All rights reserved.\n//\n\nimport Foundation\n\n// MARK: - Public\n\nfunc SHA1(_ input: String) -> String {\n  return input\n}\n"
  },
  {
    "path": "SwiftHash/Info-Mac.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 © 2016 Hyper Interaktiv AS. All rights reserved.</string>\n\t<key>NSPrincipalClass</key>\n\t<string></string>\n</dict>\n</plist>\n"
  },
  {
    "path": "SwiftHash/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": "SwiftHash/Info-tvOS.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>CFBundleVersion</key>\n\t<string>$(CURRENT_PROJECT_VERSION)</string>\n\t<key>NSPrincipalClass</key>\n\t<string></string>\n</dict>\n</plist>\n"
  },
  {
    "path": "SwiftHash/Info-watchOS.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>CFBundleVersion</key>\n\t<string>$(CURRENT_PROJECT_VERSION)</string>\n\t<key>NSPrincipalClass</key>\n\t<string></string>\n</dict>\n</plist>\n"
  },
  {
    "path": "SwiftHash.podspec",
    "content": "Pod::Spec.new do |s|\n  s.name             = \"SwiftHash\"\n  s.summary          = \"Hash in Swift\"\n  s.version          = \"2.0.2\"\n  s.homepage         = \"https://github.com/onmyway133/SwiftHash\"\n  s.license          = 'MIT'\n  s.author           = { \"Khoa Pham\" => \"onmyway133@gmail.com\" }\n  s.source           = {\n    :git => \"https://github.com/onmyway133/SwiftHash.git\",\n    :tag => s.version.to_s\n  }\n  s.social_media_url = 'https://twitter.com/onmyway133'\n\n  s.ios.deployment_target = '8.0'\n  s.osx.deployment_target = '10.9'\n  s.tvos.deployment_target = '9.2'\n  s.watchos.deployment_target = '2.0'\n\n  s.requires_arc = true\n  s.source_files = 'Sources/**/*'\n\n  s.pod_target_xcconfig = { 'SWIFT_VERSION' => '4.1' }\nend\n"
  },
  {
    "path": "SwiftHash.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\tD215F0181D27A96200575970 /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = D215F0171D27A96200575970 /* MD5.swift */; };\n\t\tD215F0191D27A96200575970 /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = D215F0171D27A96200575970 /* MD5.swift */; };\n\t\tD215F01B1D27A97B00575970 /* Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D215F01A1D27A97B00575970 /* Tests.swift */; };\n\t\tD215F01C1D27A97B00575970 /* Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D215F01A1D27A97B00575970 /* Tests.swift */; };\n\t\tD215F01E1D27CCE800575970 /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = D215F01D1D27CCE800575970 /* SHA1.swift */; };\n\t\tD215F01F1D27CCE800575970 /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = D215F01D1D27CCE800575970 /* SHA1.swift */; };\n\t\tD2B260D21EB35CD800F56C26 /* naughty_strings.txt in Resources */ = {isa = PBXBuildFile; fileRef = D2B260D11EB35CD800F56C26 /* naughty_strings.txt */; };\n\t\tD2B260D31EB35CD800F56C26 /* naughty_strings.txt in Resources */ = {isa = PBXBuildFile; fileRef = D2B260D11EB35CD800F56C26 /* naughty_strings.txt */; };\n\t\tD2CF52F21EE15A33001B09FC /* SwiftHash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2CF52E91EE15A33001B09FC /* SwiftHash.framework */; };\n\t\tD2CF53001EE15AA6001B09FC /* Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D215F01A1D27A97B00575970 /* Tests.swift */; };\n\t\tD2CF53051EE15CE3001B09FC /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = D215F0171D27A96200575970 /* MD5.swift */; };\n\t\tD2CF53061EE15CE6001B09FC /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = D215F01D1D27CCE800575970 /* SHA1.swift */; };\n\t\tD2CF53071EE15D2E001B09FC /* naughty_strings.txt in Resources */ = {isa = PBXBuildFile; fileRef = D2B260D11EB35CD800F56C26 /* naughty_strings.txt */; };\n\t\tD5B2E8AA1C3A780C00C0327D /* SwiftHash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D5B2E89F1C3A780C00C0327D /* SwiftHash.framework */; };\n\t\tD5C6294A1C3A7FAA007F7B7C /* SwiftHash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D5C629401C3A7FAA007F7B7C /* SwiftHash.framework */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\tD2CF52F31EE15A33001B09FC /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = D5B2E8961C3A780C00C0327D /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = D2CF52E81EE15A33001B09FC;\n\t\t\tremoteInfo = \"SwiftHash-tvOS\";\n\t\t};\n\t\tD5B2E8AB1C3A780C00C0327D /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = D5B2E8961C3A780C00C0327D /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = D5B2E89E1C3A780C00C0327D;\n\t\t\tremoteInfo = SwiftHash;\n\t\t};\n\t\tD5C6294B1C3A7FAA007F7B7C /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = D5B2E8961C3A780C00C0327D /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = D5C6293F1C3A7FAA007F7B7C;\n\t\t\tremoteInfo = \"SwiftHash-Mac\";\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXFileReference section */\n\t\tD215F0171D27A96200575970 /* MD5.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MD5.swift; sourceTree = \"<group>\"; };\n\t\tD215F01A1D27A97B00575970 /* Tests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Tests.swift; sourceTree = \"<group>\"; };\n\t\tD215F01D1D27CCE800575970 /* SHA1.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SHA1.swift; sourceTree = \"<group>\"; };\n\t\tD2B260D11EB35CD800F56C26 /* naughty_strings.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = naughty_strings.txt; sourceTree = \"<group>\"; };\n\t\tD2C719161EE95B9800866E5B /* SwiftHash.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftHash.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tD2CF52E91EE15A33001B09FC /* SwiftHash.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftHash.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tD2CF52F11EE15A33001B09FC /* SwiftHash-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = \"SwiftHash-tvOSTests.xctest\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tD2CF53011EE15BCE001B09FC /* Info-tvOS.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = \"Info-tvOS.plist\"; sourceTree = \"<group>\"; };\n\t\tD2CF53031EE15BD6001B09FC /* Info-tvOS.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = \"Info-tvOS.plist\"; sourceTree = \"<group>\"; };\n\t\tD500FD111C3AABED00782D78 /* Playground-iOS.playground */ = {isa = PBXFileReference; lastKnownFileType = file.playground; path = \"Playground-iOS.playground\"; sourceTree = \"<group>\"; };\n\t\tD500FD121C3AAC8E00782D78 /* Playground-Mac.playground */ = {isa = PBXFileReference; lastKnownFileType = file.playground; path = \"Playground-Mac.playground\"; sourceTree = \"<group>\"; };\n\t\tD5B2E89F1C3A780C00C0327D /* SwiftHash.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftHash.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tD5B2E8A91C3A780C00C0327D /* SwiftHash-iOS-Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = \"SwiftHash-iOS-Tests.xctest\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tD5C629401C3A7FAA007F7B7C /* SwiftHash.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftHash.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tD5C629491C3A7FAA007F7B7C /* SwiftHash-Mac-Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = \"SwiftHash-Mac-Tests.xctest\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tD5C6298B1C3A8BBD007F7B7C /* Info-iOS.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = \"Info-iOS.plist\"; sourceTree = \"<group>\"; };\n\t\tD5C6298C1C3A8BBD007F7B7C /* Info-Mac.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = \"Info-Mac.plist\"; sourceTree = \"<group>\"; };\n\t\tD5C629901C3A8BDA007F7B7C /* Info-iOS.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = \"Info-iOS.plist\"; sourceTree = \"<group>\"; };\n\t\tD5C629911C3A8BDA007F7B7C /* Info-Mac.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = \"Info-Mac.plist\"; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tD2C719121EE95B9800866E5B /* 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\tD2CF52E51EE15A33001B09FC /* 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\tD2CF52EE1EE15A33001B09FC /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD2CF52F21EE15A33001B09FC /* SwiftHash.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD5B2E89B1C3A780C00C0327D /* 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\tD5B2E8A61C3A780C00C0327D /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD5B2E8AA1C3A780C00C0327D /* SwiftHash.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD5C6293C1C3A7FAA007F7B7C /* 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\tD5C629461C3A7FAA007F7B7C /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD5C6294A1C3A7FAA007F7B7C /* SwiftHash.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\tD2B260D01EB35CD800F56C26 /* Fixture */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD2B260D11EB35CD800F56C26 /* naughty_strings.txt */,\n\t\t\t);\n\t\t\tpath = Fixture;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD5B2E8951C3A780C00C0327D = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD500FD111C3AABED00782D78 /* Playground-iOS.playground */,\n\t\t\t\tD500FD121C3AAC8E00782D78 /* Playground-Mac.playground */,\n\t\t\t\tD5C629691C3A809D007F7B7C /* Sources */,\n\t\t\t\tD5C6295C1C3A800E007F7B7C /* SwiftHash */,\n\t\t\t\tD5C6298F1C3A8BDA007F7B7C /* SwiftHashTests */,\n\t\t\t\tD5B2E8A01C3A780C00C0327D /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD5B2E8A01C3A780C00C0327D /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD5B2E89F1C3A780C00C0327D /* SwiftHash.framework */,\n\t\t\t\tD5B2E8A91C3A780C00C0327D /* SwiftHash-iOS-Tests.xctest */,\n\t\t\t\tD5C629401C3A7FAA007F7B7C /* SwiftHash.framework */,\n\t\t\t\tD5C629491C3A7FAA007F7B7C /* SwiftHash-Mac-Tests.xctest */,\n\t\t\t\tD2CF52E91EE15A33001B09FC /* SwiftHash.framework */,\n\t\t\t\tD2CF52F11EE15A33001B09FC /* SwiftHash-tvOSTests.xctest */,\n\t\t\t\tD2C719161EE95B9800866E5B /* SwiftHash.framework */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD5C6295C1C3A800E007F7B7C /* SwiftHash */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD2CF53031EE15BD6001B09FC /* Info-tvOS.plist */,\n\t\t\t\tD5C6298B1C3A8BBD007F7B7C /* Info-iOS.plist */,\n\t\t\t\tD5C6298C1C3A8BBD007F7B7C /* Info-Mac.plist */,\n\t\t\t);\n\t\t\tpath = SwiftHash;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD5C629691C3A809D007F7B7C /* Sources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD215F0171D27A96200575970 /* MD5.swift */,\n\t\t\t\tD215F01D1D27CCE800575970 /* SHA1.swift */,\n\t\t\t);\n\t\t\tpath = Sources;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD5C6298F1C3A8BDA007F7B7C /* SwiftHashTests */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD2CF53011EE15BCE001B09FC /* Info-tvOS.plist */,\n\t\t\t\tD2B260D01EB35CD800F56C26 /* Fixture */,\n\t\t\t\tD5C629901C3A8BDA007F7B7C /* Info-iOS.plist */,\n\t\t\t\tD5C629911C3A8BDA007F7B7C /* Info-Mac.plist */,\n\t\t\t\tD215F01A1D27A97B00575970 /* Tests.swift */,\n\t\t\t);\n\t\t\tpath = SwiftHashTests;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXHeadersBuildPhase section */\n\t\tD2C719131EE95B9800866E5B /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD2CF52E61EE15A33001B09FC /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD5B2E89C1C3A780C00C0327D /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD5C6293D1C3A7FAA007F7B7C /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXHeadersBuildPhase section */\n\n/* Begin PBXNativeTarget section */\n\t\tD2C719151EE95B9800866E5B /* SwiftHash-watchOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = D2C7191D1EE95B9800866E5B /* Build configuration list for PBXNativeTarget \"SwiftHash-watchOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tD2C719111EE95B9800866E5B /* Sources */,\n\t\t\t\tD2C719121EE95B9800866E5B /* Frameworks */,\n\t\t\t\tD2C719131EE95B9800866E5B /* Headers */,\n\t\t\t\tD2C719141EE95B9800866E5B /* 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 = \"SwiftHash-watchOS\";\n\t\t\tproductName = \"SwiftHash-watchOS\";\n\t\t\tproductReference = D2C719161EE95B9800866E5B /* SwiftHash.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\tD2CF52E81EE15A33001B09FC /* SwiftHash-tvOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = D2CF52FA1EE15A33001B09FC /* Build configuration list for PBXNativeTarget \"SwiftHash-tvOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tD2CF52E41EE15A33001B09FC /* Sources */,\n\t\t\t\tD2CF52E51EE15A33001B09FC /* Frameworks */,\n\t\t\t\tD2CF52E61EE15A33001B09FC /* Headers */,\n\t\t\t\tD2CF52E71EE15A33001B09FC /* 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 = \"SwiftHash-tvOS\";\n\t\t\tproductName = \"SwiftHash-tvOS\";\n\t\t\tproductReference = D2CF52E91EE15A33001B09FC /* SwiftHash.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\tD2CF52F01EE15A33001B09FC /* SwiftHash-tvOSTests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = D2CF52FD1EE15A33001B09FC /* Build configuration list for PBXNativeTarget \"SwiftHash-tvOSTests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tD2CF52ED1EE15A33001B09FC /* Sources */,\n\t\t\t\tD2CF52EE1EE15A33001B09FC /* Frameworks */,\n\t\t\t\tD2CF52EF1EE15A33001B09FC /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\tD2CF52F41EE15A33001B09FC /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"SwiftHash-tvOSTests\";\n\t\t\tproductName = \"SwiftHash-tvOSTests\";\n\t\t\tproductReference = D2CF52F11EE15A33001B09FC /* SwiftHash-tvOSTests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n\t\tD5B2E89E1C3A780C00C0327D /* SwiftHash-iOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = D5B2E8B31C3A780C00C0327D /* Build configuration list for PBXNativeTarget \"SwiftHash-iOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tD5B2E89A1C3A780C00C0327D /* Sources */,\n\t\t\t\tD5B2E89B1C3A780C00C0327D /* Frameworks */,\n\t\t\t\tD5B2E89C1C3A780C00C0327D /* Headers */,\n\t\t\t\tD5B2E89D1C3A780C00C0327D /* 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 = \"SwiftHash-iOS\";\n\t\t\tproductName = SwiftHash;\n\t\t\tproductReference = D5B2E89F1C3A780C00C0327D /* SwiftHash.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\tD5B2E8A81C3A780C00C0327D /* SwiftHash-iOS-Tests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = D5B2E8B61C3A780C00C0327D /* Build configuration list for PBXNativeTarget \"SwiftHash-iOS-Tests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tD5B2E8A51C3A780C00C0327D /* Sources */,\n\t\t\t\tD5B2E8A61C3A780C00C0327D /* Frameworks */,\n\t\t\t\tD5B2E8A71C3A780C00C0327D /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\tD5B2E8AC1C3A780C00C0327D /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"SwiftHash-iOS-Tests\";\n\t\t\tproductName = SwiftHashTests;\n\t\t\tproductReference = D5B2E8A91C3A780C00C0327D /* SwiftHash-iOS-Tests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n\t\tD5C6293F1C3A7FAA007F7B7C /* SwiftHash-Mac */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = D5C629511C3A7FAA007F7B7C /* Build configuration list for PBXNativeTarget \"SwiftHash-Mac\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tD5C6293B1C3A7FAA007F7B7C /* Sources */,\n\t\t\t\tD5C6293C1C3A7FAA007F7B7C /* Frameworks */,\n\t\t\t\tD5C6293D1C3A7FAA007F7B7C /* Headers */,\n\t\t\t\tD5C6293E1C3A7FAA007F7B7C /* 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 = \"SwiftHash-Mac\";\n\t\t\tproductName = \"SwiftHash-Mac\";\n\t\t\tproductReference = D5C629401C3A7FAA007F7B7C /* SwiftHash.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\tD5C629481C3A7FAA007F7B7C /* SwiftHash-Mac-Tests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = D5C629541C3A7FAA007F7B7C /* Build configuration list for PBXNativeTarget \"SwiftHash-Mac-Tests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tD5C629451C3A7FAA007F7B7C /* Sources */,\n\t\t\t\tD5C629461C3A7FAA007F7B7C /* Frameworks */,\n\t\t\t\tD5C629471C3A7FAA007F7B7C /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\tD5C6294C1C3A7FAA007F7B7C /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"SwiftHash-Mac-Tests\";\n\t\t\tproductName = \"SwiftHash-MacTests\";\n\t\t\tproductReference = D5C629491C3A7FAA007F7B7C /* SwiftHash-Mac-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\tD5B2E8961C3A780C00C0327D /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastSwiftUpdateCheck = 0830;\n\t\t\t\tLastUpgradeCheck = 1020;\n\t\t\t\tORGANIZATIONNAME = Fantageek;\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\tD2C719151EE95B9800866E5B = {\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\tD2CF52E81EE15A33001B09FC = {\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\tD2CF52F01EE15A33001B09FC = {\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\tD5B2E89E1C3A780C00C0327D = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.2;\n\t\t\t\t\t\tLastSwiftMigration = 1010;\n\t\t\t\t\t};\n\t\t\t\t\tD5B2E8A81C3A780C00C0327D = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.2;\n\t\t\t\t\t\tLastSwiftMigration = 1010;\n\t\t\t\t\t};\n\t\t\t\t\tD5C6293F1C3A7FAA007F7B7C = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.2;\n\t\t\t\t\t\tLastSwiftMigration = 1020;\n\t\t\t\t\t};\n\t\t\t\t\tD5C629481C3A7FAA007F7B7C = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.2;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = D5B2E8991C3A780C00C0327D /* Build configuration list for PBXProject \"SwiftHash\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\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 = D5B2E8951C3A780C00C0327D;\n\t\t\tproductRefGroup = D5B2E8A01C3A780C00C0327D /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tD5B2E89E1C3A780C00C0327D /* SwiftHash-iOS */,\n\t\t\t\tD5C6293F1C3A7FAA007F7B7C /* SwiftHash-Mac */,\n\t\t\t\tD5B2E8A81C3A780C00C0327D /* SwiftHash-iOS-Tests */,\n\t\t\t\tD5C629481C3A7FAA007F7B7C /* SwiftHash-Mac-Tests */,\n\t\t\t\tD2CF52E81EE15A33001B09FC /* SwiftHash-tvOS */,\n\t\t\t\tD2CF52F01EE15A33001B09FC /* SwiftHash-tvOSTests */,\n\t\t\t\tD2C719151EE95B9800866E5B /* SwiftHash-watchOS */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tD2C719141EE95B9800866E5B /* 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\tD2CF52E71EE15A33001B09FC /* 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\tD2CF52EF1EE15A33001B09FC /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD2CF53071EE15D2E001B09FC /* naughty_strings.txt in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD5B2E89D1C3A780C00C0327D /* 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\tD5B2E8A71C3A780C00C0327D /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD2B260D21EB35CD800F56C26 /* naughty_strings.txt in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD5C6293E1C3A7FAA007F7B7C /* 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\tD5C629471C3A7FAA007F7B7C /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD2B260D31EB35CD800F56C26 /* naughty_strings.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\tD2C719111EE95B9800866E5B /* 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\tD2CF52E41EE15A33001B09FC /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD2CF53061EE15CE6001B09FC /* SHA1.swift in Sources */,\n\t\t\t\tD2CF53051EE15CE3001B09FC /* MD5.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD2CF52ED1EE15A33001B09FC /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD2CF53001EE15AA6001B09FC /* Tests.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD5B2E89A1C3A780C00C0327D /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD215F01E1D27CCE800575970 /* SHA1.swift in Sources */,\n\t\t\t\tD215F0181D27A96200575970 /* MD5.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD5B2E8A51C3A780C00C0327D /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD215F01B1D27A97B00575970 /* Tests.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD5C6293B1C3A7FAA007F7B7C /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD215F01F1D27CCE800575970 /* SHA1.swift in Sources */,\n\t\t\t\tD215F0191D27A96200575970 /* MD5.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD5C629451C3A7FAA007F7B7C /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD215F01C1D27A97B00575970 /* Tests.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\tD2CF52F41EE15A33001B09FC /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = D2CF52E81EE15A33001B09FC /* SwiftHash-tvOS */;\n\t\t\ttargetProxy = D2CF52F31EE15A33001B09FC /* PBXContainerItemProxy */;\n\t\t};\n\t\tD5B2E8AC1C3A780C00C0327D /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = D5B2E89E1C3A780C00C0327D /* SwiftHash-iOS */;\n\t\t\ttargetProxy = D5B2E8AB1C3A780C00C0327D /* PBXContainerItemProxy */;\n\t\t};\n\t\tD5C6294C1C3A7FAA007F7B7C /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = D5C6293F1C3A7FAA007F7B7C /* SwiftHash-Mac */;\n\t\t\ttargetProxy = D5C6294B1C3A7FAA007F7B7C /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin XCBuildConfiguration section */\n\t\tD2C7191B1EE95B9800866E5B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\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\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"\";\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 = \"SwiftHash/Info-watchOS.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.fantageek.SwiftHash-watchOS\";\n\t\t\t\tPRODUCT_NAME = SwiftHash;\n\t\t\t\tSDKROOT = watchos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;\n\t\t\t\tTARGETED_DEVICE_FAMILY = 4;\n\t\t\t\tWATCHOS_DEPLOYMENT_TARGET = 3.2;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tD2C7191C1EE95B9800866E5B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\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\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"\";\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 = \"SwiftHash/Info-watchOS.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.fantageek.SwiftHash-watchOS\";\n\t\t\t\tPRODUCT_NAME = SwiftHash;\n\t\t\t\tSDKROOT = watchos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t\tTARGETED_DEVICE_FAMILY = 4;\n\t\t\t\tWATCHOS_DEPLOYMENT_TARGET = 3.2;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tD2CF52FB1EE15A33001B09FC /* 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\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"\";\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 = \"SwiftHash/Info-tvOS.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.fantageek.SwiftHash-tvOS\";\n\t\t\t\tPRODUCT_NAME = SwiftHash;\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;\n\t\t\t\tTARGETED_DEVICE_FAMILY = 3;\n\t\t\t\tTVOS_DEPLOYMENT_TARGET = 9.2;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tD2CF52FC1EE15A33001B09FC /* 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\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"\";\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 = \"SwiftHash/Info-tvOS.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.fantageek.SwiftHash-tvOS\";\n\t\t\t\tPRODUCT_NAME = SwiftHash;\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\tTARGETED_DEVICE_FAMILY = 3;\n\t\t\t\tTVOS_DEPLOYMENT_TARGET = 9.2;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tD2CF52FE1EE15A33001B09FC /* 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_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\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tINFOPLIST_FILE = \"SwiftHashTests/Info-tvOS.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.fantageek.SwiftHash-tvOSTests\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tSWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;\n\t\t\t\tSWIFT_VERSION = 3.0;\n\t\t\t\tTVOS_DEPLOYMENT_TARGET = 10.2;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tD2CF52FF1EE15A33001B09FC /* 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_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\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tINFOPLIST_FILE = \"SwiftHashTests/Info-tvOS.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.fantageek.SwiftHash-tvOSTests\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t\tSWIFT_VERSION = 3.0;\n\t\t\t\tTVOS_DEPLOYMENT_TARGET = 10.2;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tD5B2E8B11C3A780C00C0327D /* 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_LOCALIZABILITY_NONLOCALIZED = 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_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\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\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\tIPHONEOS_DEPLOYMENT_TARGET = 9.2;\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_OPTIMIZATION_LEVEL = \"-Onone\";\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\tD5B2E8B21C3A780C00C0327D /* 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_LOCALIZABILITY_NONLOCALIZED = 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_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\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\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\tIPHONEOS_DEPLOYMENT_TARGET = 9.2;\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\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\tD5B2E8B41C3A780C00C0327D /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_MODULES = 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 = \"$(SRCROOT)/SwiftHash/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.fantageek.SwiftHash.SwiftHash-iOS\";\n\t\t\t\tPRODUCT_NAME = SwiftHash;\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.2;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tD5B2E8B51C3A780C00C0327D /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_MODULES = 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 = \"$(SRCROOT)/SwiftHash/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.fantageek.SwiftHash.SwiftHash-iOS\";\n\t\t\t\tPRODUCT_NAME = SwiftHash;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_SWIFT3_OBJC_INFERENCE = Default;\n\t\t\t\tSWIFT_VERSION = 4.2;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tD5B2E8B71C3A780C00C0327D /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\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 = \"$(SRCROOT)/SwiftHashTests/Info-iOS.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = no.hyper.SwiftHashTests;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tSWIFT_SWIFT3_OBJC_INFERENCE = On;\n\t\t\t\tSWIFT_VERSION = 4.2;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tD5B2E8B81C3A780C00C0327D /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\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 = \"$(SRCROOT)/SwiftHashTests/Info-iOS.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = no.hyper.SwiftHashTests;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_SWIFT3_OBJC_INFERENCE = On;\n\t\t\t\tSWIFT_VERSION = 4.2;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tD5C629521C3A7FAA007F7B7C /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"-\";\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)/SwiftHash/Info-Mac.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.fantageek.SwiftHash.SwiftHash-Mac\";\n\t\t\t\tPRODUCT_NAME = SwiftHash;\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 = 5.0;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tD5C629531C3A7FAA007F7B7C /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"-\";\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)/SwiftHash/Info-Mac.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.fantageek.SwiftHash.SwiftHash-Mac\";\n\t\t\t\tPRODUCT_NAME = SwiftHash;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_VERSION = 5.0;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tD5C629551C3A7FAA007F7B7C /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"-\";\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/SwiftHashTests/Info-Mac.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.11;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"no.hyper.SwiftHash-MacTests\";\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\tD5C629561C3A7FAA007F7B7C /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"-\";\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/SwiftHashTests/Info-Mac.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.11;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"no.hyper.SwiftHash-MacTests\";\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\tD2C7191D1EE95B9800866E5B /* Build configuration list for PBXNativeTarget \"SwiftHash-watchOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD2C7191B1EE95B9800866E5B /* Debug */,\n\t\t\t\tD2C7191C1EE95B9800866E5B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tD2CF52FA1EE15A33001B09FC /* Build configuration list for PBXNativeTarget \"SwiftHash-tvOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD2CF52FB1EE15A33001B09FC /* Debug */,\n\t\t\t\tD2CF52FC1EE15A33001B09FC /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tD2CF52FD1EE15A33001B09FC /* Build configuration list for PBXNativeTarget \"SwiftHash-tvOSTests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD2CF52FE1EE15A33001B09FC /* Debug */,\n\t\t\t\tD2CF52FF1EE15A33001B09FC /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tD5B2E8991C3A780C00C0327D /* Build configuration list for PBXProject \"SwiftHash\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD5B2E8B11C3A780C00C0327D /* Debug */,\n\t\t\t\tD5B2E8B21C3A780C00C0327D /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tD5B2E8B31C3A780C00C0327D /* Build configuration list for PBXNativeTarget \"SwiftHash-iOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD5B2E8B41C3A780C00C0327D /* Debug */,\n\t\t\t\tD5B2E8B51C3A780C00C0327D /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tD5B2E8B61C3A780C00C0327D /* Build configuration list for PBXNativeTarget \"SwiftHash-iOS-Tests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD5B2E8B71C3A780C00C0327D /* Debug */,\n\t\t\t\tD5B2E8B81C3A780C00C0327D /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tD5C629511C3A7FAA007F7B7C /* Build configuration list for PBXNativeTarget \"SwiftHash-Mac\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD5C629521C3A7FAA007F7B7C /* Debug */,\n\t\t\t\tD5C629531C3A7FAA007F7B7C /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tD5C629541C3A7FAA007F7B7C /* Build configuration list for PBXNativeTarget \"SwiftHash-Mac-Tests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD5C629551C3A7FAA007F7B7C /* Debug */,\n\t\t\t\tD5C629561C3A7FAA007F7B7C /* 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 = D5B2E8961C3A780C00C0327D /* Project object */;\n}\n"
  },
  {
    "path": "SwiftHash.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"self:SwiftHash.xcodeproj\">\n   </FileRef>\n</Workspace>\n"
  },
  {
    "path": "SwiftHash.xcodeproj/project.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": "SwiftHash.xcodeproj/xcshareddata/xcschemes/SwiftHash-Mac.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"1020\"\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 = \"D5C6293F1C3A7FAA007F7B7C\"\n               BuildableName = \"SwiftHash.framework\"\n               BlueprintName = \"SwiftHash-Mac\"\n               ReferencedContainer = \"container:SwiftHash.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 = \"D5C629481C3A7FAA007F7B7C\"\n               BuildableName = \"SwiftHash-Mac-Tests.xctest\"\n               BlueprintName = \"SwiftHash-Mac-Tests\"\n               ReferencedContainer = \"container:SwiftHash.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"D5C6293F1C3A7FAA007F7B7C\"\n            BuildableName = \"SwiftHash.framework\"\n            BlueprintName = \"SwiftHash-Mac\"\n            ReferencedContainer = \"container:SwiftHash.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 = \"D5C6293F1C3A7FAA007F7B7C\"\n            BuildableName = \"SwiftHash.framework\"\n            BlueprintName = \"SwiftHash-Mac\"\n            ReferencedContainer = \"container:SwiftHash.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 = \"D5C6293F1C3A7FAA007F7B7C\"\n            BuildableName = \"SwiftHash.framework\"\n            BlueprintName = \"SwiftHash-Mac\"\n            ReferencedContainer = \"container:SwiftHash.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": "SwiftHash.xcodeproj/xcshareddata/xcschemes/SwiftHash-iOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"1020\"\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 = \"D5B2E89E1C3A780C00C0327D\"\n               BuildableName = \"SwiftHash.framework\"\n               BlueprintName = \"SwiftHash-iOS\"\n               ReferencedContainer = \"container:SwiftHash.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 = \"D5B2E8A81C3A780C00C0327D\"\n               BuildableName = \"SwiftHash-iOS-Tests.xctest\"\n               BlueprintName = \"SwiftHash-iOS-Tests\"\n               ReferencedContainer = \"container:SwiftHash.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"D5B2E89E1C3A780C00C0327D\"\n            BuildableName = \"SwiftHash.framework\"\n            BlueprintName = \"SwiftHash-iOS\"\n            ReferencedContainer = \"container:SwiftHash.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 = \"D5B2E89E1C3A780C00C0327D\"\n            BuildableName = \"SwiftHash.framework\"\n            BlueprintName = \"SwiftHash-iOS\"\n            ReferencedContainer = \"container:SwiftHash.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 = \"D5B2E89E1C3A780C00C0327D\"\n            BuildableName = \"SwiftHash.framework\"\n            BlueprintName = \"SwiftHash-iOS\"\n            ReferencedContainer = \"container:SwiftHash.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": "SwiftHash.xcodeproj/xcshareddata/xcschemes/SwiftHash-tvOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"1020\"\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 = \"D2CF52E81EE15A33001B09FC\"\n               BuildableName = \"SwiftHash.framework\"\n               BlueprintName = \"SwiftHash-tvOS\"\n               ReferencedContainer = \"container:SwiftHash.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 = \"D2CF52F01EE15A33001B09FC\"\n               BuildableName = \"SwiftHash-tvOSTests.xctest\"\n               BlueprintName = \"SwiftHash-tvOSTests\"\n               ReferencedContainer = \"container:SwiftHash.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"D2CF52E81EE15A33001B09FC\"\n            BuildableName = \"SwiftHash.framework\"\n            BlueprintName = \"SwiftHash-tvOS\"\n            ReferencedContainer = \"container:SwiftHash.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 = \"D2CF52E81EE15A33001B09FC\"\n            BuildableName = \"SwiftHash.framework\"\n            BlueprintName = \"SwiftHash-tvOS\"\n            ReferencedContainer = \"container:SwiftHash.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 = \"D2CF52E81EE15A33001B09FC\"\n            BuildableName = \"SwiftHash.framework\"\n            BlueprintName = \"SwiftHash-tvOS\"\n            ReferencedContainer = \"container:SwiftHash.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": "SwiftHash.xcodeproj/xcshareddata/xcschemes/SwiftHash-watchOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"1020\"\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 = \"D2C719151EE95B9800866E5B\"\n               BuildableName = \"SwiftHash.framework\"\n               BlueprintName = \"SwiftHash-watchOS\"\n               ReferencedContainer = \"container:SwiftHash.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 = \"D2C719151EE95B9800866E5B\"\n            BuildableName = \"SwiftHash.framework\"\n            BlueprintName = \"SwiftHash-watchOS\"\n            ReferencedContainer = \"container:SwiftHash.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 = \"D2C719151EE95B9800866E5B\"\n            BuildableName = \"SwiftHash.framework\"\n            BlueprintName = \"SwiftHash-watchOS\"\n            ReferencedContainer = \"container:SwiftHash.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": "SwiftHashTests/Fixture/naughty_strings.txt",
    "content": "#\tReserved Strings\n#\n#\tStrings which may be used elsewhere in code\n\nundefined\nundef\nnull\nNULL\n(null)\nnil\nNIL\ntrue\nfalse\nTrue\nFalse\nTRUE\nFALSE\nNone\nhasOwnProperty\n\\\n\\\\\n\n#\tNumeric Strings\n#\n#\tStrings which can be interpreted as numeric\n\n0\n1\n1.00\n$1.00\n1/2\n1E2\n1E02\n1E+02\n-1\n-1.00\n-$1.00\n-1/2\n-1E2\n-1E02\n-1E+02\n1/0\n0/0\n-2147483648/-1\n-9223372036854775808/-1\n-0\n-0.0\n+0\n+0.0\n0.00\n0..0\n.\n0.0.0\n0,00\n0,,0\n,\n0,0,0\n0.0/0\n1.0/0.0\n0.0/0.0\n1,0/0,0\n0,0/0,0\n--1\n-\n-.\n-,\n999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\nNaN\nInfinity\n-Infinity\nINF\n1#INF\n-1#IND\n1#QNAN\n1#SNAN\n1#IND\n0x0\n0xffffffff\n0xffffffffffffffff\n0xabad1dea\n123456789012345678901234567890123456789\n1,000.00\n1 000.00\n1'000.00\n1,000,000.00\n1 000 000.00\n1'000'000.00\n1.000,00\n1 000,00\n1'000,00\n1.000.000,00\n1 000 000,00\n1'000'000,00\n01000\n08\n09\n2.2250738585072011e-308\n\n#\tSpecial Characters\n#\n# ASCII punctuation.  All of these characters may need to be escaped in some\n# contexts.  Divided into three groups based on (US-layout) keyboard position.\n\n,./;'[]\\-=\n<>?:\"{}|_+\n!@#$%^&*()`~\n\n# Non-whitespace C0 controls: U+0001 through U+0008, U+000E through U+001F,\n# and U+007F (DEL)\n# Often forbidden to appear in various text-based file formats (e.g. XML),\n# or reused for internal delimiters on the theory that they should never\n# appear in input.\n# The next line may appear to be blank or mojibake in some viewers.\n\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f\n\n# Non-whitespace C1 controls: U+0080 through U+0084 and U+0086 through U+009F.\n# Commonly misinterpreted as additional graphic characters.\n# The next line may appear to be blank, mojibake, or dingbats in some viewers.\n\n\n# Whitespace: all of the characters with category Zs, Zl, or Zp (in Unicode\n# version 8.0.0), plus U+0009 (HT), U+000B (VT), U+000C (FF), U+0085 (NEL),\n# and U+200B (ZERO WIDTH SPACE), which are in the C categories but are often\n# treated as whitespace in some contexts.\n# This file unfortunately cannot express strings containing\n# U+0000, U+000A, or U+000D (NUL, LF, CR).\n# The next line may appear to be blank or mojibake in some viewers.\n# The next line may be flagged for \"trailing whitespace\" in some viewers.\n\t\u000b\f              ​    　\n\n# Unicode additional control characters: all of the characters with\n# general category Cf (in Unicode 8.0.0).\n# The next line may appear to be blank or mojibake in some viewers.\n­؀؁؂؃؄؅؜۝܏᠎​‌‍‎‏‪‫‬‭‮⁠⁡⁢⁣⁤⁦⁧⁨⁩⁪⁫⁬⁭⁮⁯﻿￹￺￻𑂽𛲠𛲡𛲢𛲣𝅳𝅴𝅵𝅶𝅷𝅸𝅹𝅺󠀁󠀠󠀡󠀢󠀣󠀤󠀥󠀦󠀧󠀨󠀩󠀪󠀫󠀬󠀭󠀮󠀯󠀰󠀱󠀲󠀳󠀴󠀵󠀶󠀷󠀸󠀹󠀺󠀻󠀼󠀽󠀾󠀿󠁀󠁁󠁂󠁃󠁄󠁅󠁆󠁇󠁈󠁉󠁊󠁋󠁌󠁍󠁎󠁏󠁐󠁑󠁒󠁓󠁔󠁕󠁖󠁗󠁘󠁙󠁚󠁛󠁜󠁝󠁞󠁟󠁠󠁡󠁢󠁣󠁤󠁥󠁦󠁧󠁨󠁩󠁪󠁫󠁬󠁭󠁮󠁯󠁰󠁱󠁲󠁳󠁴󠁵󠁶󠁷󠁸󠁹󠁺󠁻󠁼󠁽󠁾󠁿\n\n# \"Byte order marks\", U+FEFF and U+FFFE, each on its own line.\n# The next two lines may appear to be blank or mojibake in some viewers.\n﻿\n￾\n\n#\tUnicode Symbols\n#\n#\tStrings which contain common unicode symbols (e.g. smart quotes)\n\nΩ≈ç√∫˜µ≤≥÷\nåß∂ƒ©˙∆˚¬…æ\nœ∑´®†¥¨ˆøπ“‘\n¡™£¢∞§¶•ªº–≠\n¸˛Ç◊ı˜Â¯˘¿\nÅÍÎÏ˝ÓÔÒÚÆ☃\nŒ„´‰ˇÁ¨ˆØ∏”’\n`⁄€‹›ﬁﬂ‡°·‚—±\n⅛⅜⅝⅞\nЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя\n٠١٢٣٤٥٦٧٨٩\n\n#\tUnicode Subscript/Superscript/Accents\n#\n#\tStrings which contain unicode subscripts/superscripts; can cause rendering issues\n\n⁰⁴⁵\n₀₁₂\n⁰⁴⁵₀₁₂\nด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็ ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็ ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็\n\n#\tQuotation Marks\n#\n#\tStrings which contain misplaced quotation marks; can cause encoding errors\n\n'\n\"\n''\n\"\"\n'\"'\n\"''''\"'\"\n\"'\"'\"''''\"\n<foo val=“bar” />\n<foo val=“bar” />\n<foo val=”bar“ />\n<foo val=`bar' />\n\n#\tTwo-Byte Characters\n#\n#\tStrings which contain two-byte characters: can cause rendering issues or character-length issues\n\n田中さんにあげて下さい\nパーティーへ行かないか\n和製漢語\n部落格\n사회과학원 어학연구소\n찦차를 타고 온 펲시맨과 쑛다리 똠방각하\n社會科學院語學研究所\n울란바토르\n𠜎𠜱𠝹𠱓𠱸𠲖𠳏\n\n#\tChanging length when lowercased\n#\n#\tCharacters which increase in length (2 to 3 bytes) when lowercased\n#\tCredit: https://twitter.com/jifa/status/625776454479970304\n\nȺ\nȾ\n\n#\tJapanese Emoticons\n#\n#\tStrings which consists of Japanese-style emoticons which are popular on the web\n\nヽ༼ຈل͜ຈ༽ﾉ ヽ༼ຈل͜ຈ༽ﾉ\n(｡◕ ∀ ◕｡)\n｀ｨ(´∀｀∩\n__ﾛ(,_,*)\n・(￣∀￣)・:*:\nﾟ･✿ヾ╲(｡◕‿◕｡)╱✿･ﾟ\n,。・:*:・゜’( ☻ ω ☻ )。・:*:・゜’\n(╯°□°）╯︵ ┻━┻)\n(ﾉಥ益ಥ）ﾉ﻿ ┻━┻\n┬─┬ノ( º _ ºノ)\n( ͡° ͜ʖ ͡°)\n\n#\tEmoji\n#\n#\tStrings which contain Emoji; should be the same behavior as two-byte characters, but not always\n\n😍\n👩🏽\n👾 🙇 💁 🙅 🙆 🙋 🙎 🙍\n🐵 🙈 🙉 🙊\n❤️ 💔 💌 💕 💞 💓 💗 💖 💘 💝 💟 💜 💛 💚 💙\n✋🏿 💪🏿 👐🏿 🙌🏿 👏🏿 🙏🏿\n🚾 🆒 🆓 🆕 🆖 🆗 🆙 🏧\n0️⃣ 1️⃣ 2️⃣ 3️⃣ 4️⃣ 5️⃣ 6️⃣ 7️⃣ 8️⃣ 9️⃣ 🔟\n\n#       Regional Indicator Symbols\n#\n#       Regional Indicator Symbols can be displayed differently across\n#       fonts, and have a number of special behaviors\n\n🇺🇸🇷🇺🇸 🇦🇫🇦🇲🇸\n🇺🇸🇷🇺🇸🇦🇫🇦🇲\n🇺🇸🇷🇺🇸🇦\n\n#\tUnicode Numbers\n#\n#\tStrings which contain unicode numbers; if the code is localized, it should see the input as numeric\n\n１２３\n١٢٣\n\n#\tRight-To-Left Strings\n#\n#\tStrings which contain text that should be rendered RTL if possible (e.g. Arabic, Hebrew)\n\nثم نفس سقطت وبالتحديد،, جزيرتي باستخدام أن دنو. إذ هنا؟ الستار وتنصيب كان. أهّل ايطاليا، بريطانيا-فرنسا قد أخذ. سليمان، إتفاقية بين ما, يذكر الحدود أي بعد, معاملة بولندا، الإطلاق عل إيو.\nבְּרֵאשִׁית, בָּרָא אֱלֹהִים, אֵת הַשָּׁמַיִם, וְאֵת הָאָרֶץ\nהָיְתָהtestالصفحات التّحول\n﷽\nﷺ\nمُنَاقَشَةُ سُبُلِ اِسْتِخْدَامِ اللُّغَةِ فِي النُّظُمِ الْقَائِمَةِ وَفِيم يَخُصَّ التَّطْبِيقَاتُ الْحاسُوبِيَّةُ، \n\n#\tTrick Unicode\n#\n#\tStrings which contain unicode with unusual properties (e.g. Right-to-left override) (c.f. http://www.unicode.org/charts/PDF/U2000.pdf)\n\n‪‪test‪\n‫test‫\n test \ntest⁠test‫\n⁦test⁧\n\n#\tZalgo Text\n#\n#\tStrings which contain \"corrupted\" text. The corruption will not appear in non-HTML text, however. (via http://www.eeemo.net)\n\nṰ̺̺̕o͞ ̷i̲̬͇̪͙n̝̗͕v̟̜̘̦͟o̶̙̰̠kè͚̮̺̪̹̱̤ ̖t̝͕̳̣̻̪͞h̼͓̲̦̳̘̲e͇̣̰̦̬͎ ̢̼̻̱̘h͚͎͙̜̣̲ͅi̦̲̣̰̤v̻͍e̺̭̳̪̰-m̢iͅn̖̺̞̲̯̰d̵̼̟͙̩̼̘̳ ̞̥̱̳̭r̛̗̘e͙p͠r̼̞̻̭̗e̺̠̣͟s̘͇̳͍̝͉e͉̥̯̞̲͚̬͜ǹ̬͎͎̟̖͇̤t͍̬̤͓̼̭͘ͅi̪̱n͠g̴͉ ͏͉ͅc̬̟h͡a̫̻̯͘o̫̟̖͍̙̝͉s̗̦̲.̨̹͈̣\n̡͓̞ͅI̗̘̦͝n͇͇͙v̮̫ok̲̫̙͈i̖͙̭̹̠̞n̡̻̮̣̺g̲͈͙̭͙̬͎ ̰t͔̦h̞̲e̢̤ ͍̬̲͖f̴̘͕̣è͖ẹ̥̩l͖͔͚i͓͚̦͠n͖͍̗͓̳̮g͍ ̨o͚̪͡f̘̣̬ ̖̘͖̟͙̮c҉͔̫͖͓͇͖ͅh̵̤̣͚͔á̗̼͕ͅo̼̣̥s̱͈̺̖̦̻͢.̛̖̞̠̫̰\n̗̺͖̹̯͓Ṯ̤͍̥͇͈h̲́e͏͓̼̗̙̼̣͔ ͇̜̱̠͓͍ͅN͕͠e̗̱z̘̝̜̺͙p̤̺̹͍̯͚e̠̻̠͜r̨̤͍̺̖͔̖̖d̠̟̭̬̝͟i̦͖̩͓͔̤a̠̗̬͉̙n͚͜ ̻̞̰͚ͅh̵͉i̳̞v̢͇ḙ͎͟-҉̭̩̼͔m̤̭̫i͕͇̝̦n̗͙ḍ̟ ̯̲͕͞ǫ̟̯̰̲͙̻̝f ̪̰̰̗̖̭̘͘c̦͍̲̞͍̩̙ḥ͚a̮͎̟̙͜ơ̩̹͎s̤.̝̝ ҉Z̡̖̜͖̰̣͉̜a͖̰͙̬͡l̲̫̳͍̩g̡̟̼̱͚̞̬ͅo̗͜.̟\n̦H̬̤̗̤͝e͜ ̜̥̝̻͍̟́w̕h̖̯͓o̝͙̖͎̱̮ ҉̺̙̞̟͈W̷̼̭a̺̪͍į͈͕̭͙̯̜t̶̼̮s̘͙͖̕ ̠̫̠B̻͍͙͉̳ͅe̵h̵̬͇̫͙i̹͓̳̳̮͎̫̕n͟d̴̪̜̖ ̰͉̩͇͙̲͞ͅT͖̼͓̪͢h͏͓̮̻e̬̝̟ͅ ̤̹̝W͙̞̝͔͇͝ͅa͏͓͔̹̼̣l̴͔̰̤̟͔ḽ̫.͕\nZ̮̞̠͙͔ͅḀ̗̞͈̻̗Ḷ͙͎̯̹̞͓G̻O̭̗̮\n\n#\tUnicode Upsidedown\n#\n#\tStrings which contain unicode with an \"upsidedown\" effect (via http://www.upsidedowntext.com)\n\n˙ɐnbᴉlɐ ɐuƃɐɯ ǝɹolop ʇǝ ǝɹoqɐl ʇn ʇunpᴉpᴉɔuᴉ ɹodɯǝʇ poɯsnᴉǝ op pǝs 'ʇᴉlǝ ƃuᴉɔsᴉdᴉpɐ ɹnʇǝʇɔǝsuoɔ 'ʇǝɯɐ ʇᴉs ɹolop ɯnsdᴉ ɯǝɹo˥\n00˙Ɩ$-\n\n#\tUnicode font\n#\n#\tStrings which contain bold/italic/etc. versions of normal characters\n\nＴｈｅ ｑｕｉｃｋ ｂｒｏｗｎ ｆｏｘ ｊｕｍｐｓ ｏｖｅｒ ｔｈｅ ｌａｚｙ ｄｏｇ\n𝐓𝐡𝐞 𝐪𝐮𝐢𝐜𝐤 𝐛𝐫𝐨𝐰𝐧 𝐟𝐨𝐱 𝐣𝐮𝐦𝐩𝐬 𝐨𝐯𝐞𝐫 𝐭𝐡𝐞 𝐥𝐚𝐳𝐲 𝐝𝐨𝐠\n𝕿𝖍𝖊 𝖖𝖚𝖎𝖈𝖐 𝖇𝖗𝖔𝖜𝖓 𝖋𝖔𝖝 𝖏𝖚𝖒𝖕𝖘 𝖔𝖛𝖊𝖗 𝖙𝖍𝖊 𝖑𝖆𝖟𝖞 𝖉𝖔𝖌\n𝑻𝒉𝒆 𝒒𝒖𝒊𝒄𝒌 𝒃𝒓𝒐𝒘𝒏 𝒇𝒐𝒙 𝒋𝒖𝒎𝒑𝒔 𝒐𝒗𝒆𝒓 𝒕𝒉𝒆 𝒍𝒂𝒛𝒚 𝒅𝒐𝒈\n𝓣𝓱𝓮 𝓺𝓾𝓲𝓬𝓴 𝓫𝓻𝓸𝔀𝓷 𝓯𝓸𝔁 𝓳𝓾𝓶𝓹𝓼 𝓸𝓿𝓮𝓻 𝓽𝓱𝓮 𝓵𝓪𝔃𝔂 𝓭𝓸𝓰\n𝕋𝕙𝕖 𝕢𝕦𝕚𝕔𝕜 𝕓𝕣𝕠𝕨𝕟 𝕗𝕠𝕩 𝕛𝕦𝕞𝕡𝕤 𝕠𝕧𝕖𝕣 𝕥𝕙𝕖 𝕝𝕒𝕫𝕪 𝕕𝕠𝕘\n𝚃𝚑𝚎 𝚚𝚞𝚒𝚌𝚔 𝚋𝚛𝚘𝚠𝚗 𝚏𝚘𝚡 𝚓𝚞𝚖𝚙𝚜 𝚘𝚟𝚎𝚛 𝚝𝚑𝚎 𝚕𝚊𝚣𝚢 𝚍𝚘𝚐\n⒯⒣⒠ ⒬⒰⒤⒞⒦ ⒝⒭⒪⒲⒩ ⒡⒪⒳ ⒥⒰⒨⒫⒮ ⒪⒱⒠⒭ ⒯⒣⒠ ⒧⒜⒵⒴ ⒟⒪⒢\n\n#\tScript Injection\n#\n#\tStrings which attempt to invoke a benign script injection; shows vulnerability to XSS\n\n<script>alert(123)</script>\n&lt;script&gt;alert(&#39;123&#39;);&lt;/script&gt;\n<img src=x onerror=alert(123) />\n<svg><script>123<1>alert(123)</script>\n\"><script>alert(123)</script>\n'><script>alert(123)</script>\n><script>alert(123)</script>\n</script><script>alert(123)</script>\n< / script >< script >alert(123)< / script >\n onfocus=JaVaSCript:alert(123) autofocus\n\" onfocus=JaVaSCript:alert(123) autofocus\n' onfocus=JaVaSCript:alert(123) autofocus\n＜script＞alert(123)＜/script＞\n<sc<script>ript>alert(123)</sc</script>ript>\n--><script>alert(123)</script>\n\";alert(123);t=\"\n';alert(123);t='\nJavaSCript:alert(123)\n;alert(123);\nsrc=JaVaSCript:prompt(132)\n\"><script>alert(123);</script x=\"\n'><script>alert(123);</script x='\n><script>alert(123);</script x=\n\" autofocus onkeyup=\"javascript:alert(123)\n' autofocus onkeyup='javascript:alert(123)\n<script\\x20type=\"text/javascript\">javascript:alert(1);</script>\n<script\\x3Etype=\"text/javascript\">javascript:alert(1);</script>\n<script\\x0Dtype=\"text/javascript\">javascript:alert(1);</script>\n<script\\x09type=\"text/javascript\">javascript:alert(1);</script>\n<script\\x0Ctype=\"text/javascript\">javascript:alert(1);</script>\n<script\\x2Ftype=\"text/javascript\">javascript:alert(1);</script>\n<script\\x0Atype=\"text/javascript\">javascript:alert(1);</script>\n'`\"><\\x3Cscript>javascript:alert(1)</script>\n'`\"><\\x00script>javascript:alert(1)</script>\nABC<div style=\"x\\x3Aexpression(javascript:alert(1)\">DEF\nABC<div style=\"x:expression\\x5C(javascript:alert(1)\">DEF\nABC<div style=\"x:expression\\x00(javascript:alert(1)\">DEF\nABC<div style=\"x:exp\\x00ression(javascript:alert(1)\">DEF\nABC<div style=\"x:exp\\x5Cression(javascript:alert(1)\">DEF\nABC<div style=\"x:\\x0Aexpression(javascript:alert(1)\">DEF\nABC<div style=\"x:\\x09expression(javascript:alert(1)\">DEF\nABC<div style=\"x:\\xE3\\x80\\x80expression(javascript:alert(1)\">DEF\nABC<div style=\"x:\\xE2\\x80\\x84expression(javascript:alert(1)\">DEF\nABC<div style=\"x:\\xC2\\xA0expression(javascript:alert(1)\">DEF\nABC<div style=\"x:\\xE2\\x80\\x80expression(javascript:alert(1)\">DEF\nABC<div style=\"x:\\xE2\\x80\\x8Aexpression(javascript:alert(1)\">DEF\nABC<div style=\"x:\\x0Dexpression(javascript:alert(1)\">DEF\nABC<div style=\"x:\\x0Cexpression(javascript:alert(1)\">DEF\nABC<div style=\"x:\\xE2\\x80\\x87expression(javascript:alert(1)\">DEF\nABC<div style=\"x:\\xEF\\xBB\\xBFexpression(javascript:alert(1)\">DEF\nABC<div style=\"x:\\x20expression(javascript:alert(1)\">DEF\nABC<div style=\"x:\\xE2\\x80\\x88expression(javascript:alert(1)\">DEF\nABC<div style=\"x:\\x00expression(javascript:alert(1)\">DEF\nABC<div style=\"x:\\xE2\\x80\\x8Bexpression(javascript:alert(1)\">DEF\nABC<div style=\"x:\\xE2\\x80\\x86expression(javascript:alert(1)\">DEF\nABC<div style=\"x:\\xE2\\x80\\x85expression(javascript:alert(1)\">DEF\nABC<div style=\"x:\\xE2\\x80\\x82expression(javascript:alert(1)\">DEF\nABC<div style=\"x:\\x0Bexpression(javascript:alert(1)\">DEF\nABC<div style=\"x:\\xE2\\x80\\x81expression(javascript:alert(1)\">DEF\nABC<div style=\"x:\\xE2\\x80\\x83expression(javascript:alert(1)\">DEF\nABC<div style=\"x:\\xE2\\x80\\x89expression(javascript:alert(1)\">DEF\n<a href=\"\\x0Bjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x0Fjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\xC2\\xA0javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x05javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\xE1\\xA0\\x8Ejavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x18javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x11javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\xE2\\x80\\x88javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\xE2\\x80\\x89javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\xE2\\x80\\x80javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x17javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x03javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x0Ejavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x1Ajavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x00javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x10javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\xE2\\x80\\x82javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x20javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x13javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x09javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\xE2\\x80\\x8Ajavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x14javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x19javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\xE2\\x80\\xAFjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x1Fjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\xE2\\x80\\x81javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x1Djavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\xE2\\x80\\x87javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x07javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\xE1\\x9A\\x80javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\xE2\\x80\\x83javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x04javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x01javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x08javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\xE2\\x80\\x84javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\xE2\\x80\\x86javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\xE3\\x80\\x80javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x12javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x0Djavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x0Ajavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x0Cjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x15javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\xE2\\x80\\xA8javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x16javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x02javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x1Bjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x06javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\xE2\\x80\\xA9javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\xE2\\x80\\x85javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x1Ejavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\xE2\\x81\\x9Fjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"\\x1Cjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"javascript\\x00:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"javascript\\x3A:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"javascript\\x09:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"javascript\\x0D:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n<a href=\"javascript\\x0A:javascript:alert(1)\" id=\"fuzzelement1\">test</a>\n`\"'><img src=xxx:x \\x0Aonerror=javascript:alert(1)>\n`\"'><img src=xxx:x \\x22onerror=javascript:alert(1)>\n`\"'><img src=xxx:x \\x0Bonerror=javascript:alert(1)>\n`\"'><img src=xxx:x \\x0Donerror=javascript:alert(1)>\n`\"'><img src=xxx:x \\x2Fonerror=javascript:alert(1)>\n`\"'><img src=xxx:x \\x09onerror=javascript:alert(1)>\n`\"'><img src=xxx:x \\x0Conerror=javascript:alert(1)>\n`\"'><img src=xxx:x \\x00onerror=javascript:alert(1)>\n`\"'><img src=xxx:x \\x27onerror=javascript:alert(1)>\n`\"'><img src=xxx:x \\x20onerror=javascript:alert(1)>\n\"`'><script>\\x3Bjavascript:alert(1)</script>\n\"`'><script>\\x0Djavascript:alert(1)</script>\n\"`'><script>\\xEF\\xBB\\xBFjavascript:alert(1)</script>\n\"`'><script>\\xE2\\x80\\x81javascript:alert(1)</script>\n\"`'><script>\\xE2\\x80\\x84javascript:alert(1)</script>\n\"`'><script>\\xE3\\x80\\x80javascript:alert(1)</script>\n\"`'><script>\\x09javascript:alert(1)</script>\n\"`'><script>\\xE2\\x80\\x89javascript:alert(1)</script>\n\"`'><script>\\xE2\\x80\\x85javascript:alert(1)</script>\n\"`'><script>\\xE2\\x80\\x88javascript:alert(1)</script>\n\"`'><script>\\x00javascript:alert(1)</script>\n\"`'><script>\\xE2\\x80\\xA8javascript:alert(1)</script>\n\"`'><script>\\xE2\\x80\\x8Ajavascript:alert(1)</script>\n\"`'><script>\\xE1\\x9A\\x80javascript:alert(1)</script>\n\"`'><script>\\x0Cjavascript:alert(1)</script>\n\"`'><script>\\x2Bjavascript:alert(1)</script>\n\"`'><script>\\xF0\\x90\\x96\\x9Ajavascript:alert(1)</script>\n\"`'><script>-javascript:alert(1)</script>\n\"`'><script>\\x0Ajavascript:alert(1)</script>\n\"`'><script>\\xE2\\x80\\xAFjavascript:alert(1)</script>\n\"`'><script>\\x7Ejavascript:alert(1)</script>\n\"`'><script>\\xE2\\x80\\x87javascript:alert(1)</script>\n\"`'><script>\\xE2\\x81\\x9Fjavascript:alert(1)</script>\n\"`'><script>\\xE2\\x80\\xA9javascript:alert(1)</script>\n\"`'><script>\\xC2\\x85javascript:alert(1)</script>\n\"`'><script>\\xEF\\xBF\\xAEjavascript:alert(1)</script>\n\"`'><script>\\xE2\\x80\\x83javascript:alert(1)</script>\n\"`'><script>\\xE2\\x80\\x8Bjavascript:alert(1)</script>\n\"`'><script>\\xEF\\xBF\\xBEjavascript:alert(1)</script>\n\"`'><script>\\xE2\\x80\\x80javascript:alert(1)</script>\n\"`'><script>\\x21javascript:alert(1)</script>\n\"`'><script>\\xE2\\x80\\x82javascript:alert(1)</script>\n\"`'><script>\\xE2\\x80\\x86javascript:alert(1)</script>\n\"`'><script>\\xE1\\xA0\\x8Ejavascript:alert(1)</script>\n\"`'><script>\\x0Bjavascript:alert(1)</script>\n\"`'><script>\\x20javascript:alert(1)</script>\n\"`'><script>\\xC2\\xA0javascript:alert(1)</script>\n<img \\x00src=x onerror=\"alert(1)\">\n<img \\x47src=x onerror=\"javascript:alert(1)\">\n<img \\x11src=x onerror=\"javascript:alert(1)\">\n<img \\x12src=x onerror=\"javascript:alert(1)\">\n<img\\x47src=x onerror=\"javascript:alert(1)\">\n<img\\x10src=x onerror=\"javascript:alert(1)\">\n<img\\x13src=x onerror=\"javascript:alert(1)\">\n<img\\x32src=x onerror=\"javascript:alert(1)\">\n<img\\x47src=x onerror=\"javascript:alert(1)\">\n<img\\x11src=x onerror=\"javascript:alert(1)\">\n<img \\x47src=x onerror=\"javascript:alert(1)\">\n<img \\x34src=x onerror=\"javascript:alert(1)\">\n<img \\x39src=x onerror=\"javascript:alert(1)\">\n<img \\x00src=x onerror=\"javascript:alert(1)\">\n<img src\\x09=x onerror=\"javascript:alert(1)\">\n<img src\\x10=x onerror=\"javascript:alert(1)\">\n<img src\\x13=x onerror=\"javascript:alert(1)\">\n<img src\\x32=x onerror=\"javascript:alert(1)\">\n<img src\\x12=x onerror=\"javascript:alert(1)\">\n<img src\\x11=x onerror=\"javascript:alert(1)\">\n<img src\\x00=x onerror=\"javascript:alert(1)\">\n<img src\\x47=x onerror=\"javascript:alert(1)\">\n<img src=x\\x09onerror=\"javascript:alert(1)\">\n<img src=x\\x10onerror=\"javascript:alert(1)\">\n<img src=x\\x11onerror=\"javascript:alert(1)\">\n<img src=x\\x12onerror=\"javascript:alert(1)\">\n<img src=x\\x13onerror=\"javascript:alert(1)\">\n<img[a][b][c]src[d]=x[e]onerror=[f]\"alert(1)\">\n<img src=x onerror=\\x09\"javascript:alert(1)\">\n<img src=x onerror=\\x10\"javascript:alert(1)\">\n<img src=x onerror=\\x11\"javascript:alert(1)\">\n<img src=x onerror=\\x12\"javascript:alert(1)\">\n<img src=x onerror=\\x32\"javascript:alert(1)\">\n<img src=x onerror=\\x00\"javascript:alert(1)\">\n<a href=java&#1&#2&#3&#4&#5&#6&#7&#8&#11&#12script:javascript:alert(1)>XXX</a>\n<img src=\"x` `<script>javascript:alert(1)</script>\"` `>\n<img src onerror /\" '\"= alt=javascript:alert(1)//\">\n<title onpropertychange=javascript:alert(1)></title><title title=>\n<a href=http://foo.bar/#x=`y></a><img alt=\"`><img src=x:x onerror=javascript:alert(1)></a>\">\n<!--[if]><script>javascript:alert(1)</script -->\n<!--[if<img src=x onerror=javascript:alert(1)//]> -->\n<script src=\"/\\%(jscript)s\"></script>\n<script src=\"\\\\%(jscript)s\"></script>\n<IMG \"\"\"><SCRIPT>alert(\"XSS\")</SCRIPT>\">\n<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>\n<IMG SRC=# onmouseover=\"alert('xxs')\">\n<IMG SRC= onmouseover=\"alert('xxs')\">\n<IMG onmouseover=\"alert('xxs')\">\n<IMG SRC=&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#39;&#88;&#83;&#83;&#39;&#41;>\n<IMG SRC=&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041>\n<IMG SRC=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29>\n<IMG SRC=\"jav   ascript:alert('XSS');\">\n<IMG SRC=\"jav&#x09;ascript:alert('XSS');\">\n<IMG SRC=\"jav&#x0A;ascript:alert('XSS');\">\n<IMG SRC=\"jav&#x0D;ascript:alert('XSS');\">\nperl -e 'print \"<IMG SRC=java\\0script:alert(\\\"XSS\\\")>\";' > out\n<IMG SRC=\" &#14;  javascript:alert('XSS');\">\n<SCRIPT/XSS SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>\n<BODY onload!#$%&()*~+-_.,:;?@[/|\\]^`=alert(\"XSS\")>\n<SCRIPT/SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>\n<<SCRIPT>alert(\"XSS\");//<</SCRIPT>\n<SCRIPT SRC=http://ha.ckers.org/xss.js?< B >\n<SCRIPT SRC=//ha.ckers.org/.j>\n<IMG SRC=\"javascript:alert('XSS')\"\n<iframe src=http://ha.ckers.org/scriptlet.html <\n\\\";alert('XSS');//\n<u oncopy=alert()> Copy me</u>\n<i onwheel=alert(1)> Scroll over me </i>\n<plaintext>\nhttp://a/%%30%30\n</textarea><script>alert(123)</script>\n\n#\tSQL Injection\n#\n#\tStrings which can cause a SQL injection if inputs are not sanitized\n\n1;DROP TABLE users\n1'; DROP TABLE users-- 1\n' OR 1=1 -- 1\n' OR '1'='1\n \n%\n_\n\n#\tServer Code Injection\n#\n#\tStrings which can cause user to run code on server as a privileged user (c.f. https://news.ycombinator.com/item?id=7665153)\n\n-\n--\n--version\n--help\n$USER\n/dev/null; touch /tmp/blns.fail ; echo\n`touch /tmp/blns.fail`\n$(touch /tmp/blns.fail)\n@{[system \"touch /tmp/blns.fail\"]}\n\n#\tCommand Injection (Ruby)\n#\n#\tStrings which can call system commands within Ruby/Rails applications\n\neval(\"puts 'hello world'\")\nSystem(\"ls -al /\")\n`ls -al /`\nKernel.exec(\"ls -al /\")\nKernel.exit(1)\n%x('ls -al /')\n\n#      XXE Injection (XML)\n#\n#\tString which can reveal system files when parsed by a badly configured XML parser\n\n<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><!DOCTYPE foo [ <!ELEMENT foo ANY ><!ENTITY xxe SYSTEM \"file:///etc/passwd\" >]><foo>&xxe;</foo>\n\n#\tUnwanted Interpolation\n#\n#\tStrings which can be accidentally expanded into different strings if evaluated in the wrong context, e.g. used as a printf format string or via Perl or shell eval. Might expose sensitive data from the program doing the interpolation, or might just represent the wrong string.\n\n$HOME\n$ENV{'HOME'}\n%d\n%s\n{0}\n%*.*s\nFile:///\n\n#\tFile Inclusion\n#\n#\tStrings which can cause user to pull in files that should not be a part of a web server\n\n../../../../../../../../../../../etc/passwd%00\n../../../../../../../../../../../etc/hosts\n\n#\tKnown CVEs and Vulnerabilities\n#\n#\tStrings that test for known vulnerabilities\n\n() { 0; }; touch /tmp/blns.shellshock1.fail;\n() { _; } >_[$($())] { touch /tmp/blns.shellshock2.fail; }\n<<< %s(un='%s') = %u\n+++ATH0\n\n#\tMSDOS/Windows Special Filenames\n#\n#\tStrings which are reserved characters in MSDOS/Windows\n\nCON\nPRN\nAUX\nCLOCK$\nNUL\nA:\nZZ:\nCOM1\nLPT1\nLPT2\nLPT3\nCOM2\nCOM3\nCOM4\n\n#   IRC specific strings\n#\n#   Strings that may occur on IRC clients that make security products freak out\n\nDCC SEND STARTKEYLOGGER 0 0 0\n\n#\tScunthorpe Problem\n#\n#\tInnocuous strings which may be blocked by profanity filters (https://en.wikipedia.org/wiki/Scunthorpe_problem)\n\nScunthorpe General Hospital\nPenistone Community Church\nLightwater Country Park\nJimmy Clitheroe\nHorniman Museum\nshitake mushrooms\nRomansInSussex.co.uk\nhttp://www.cum.qc.ca/\nCraig Cockburn, Software Specialist\nLinda Callahan\nDr. Herman I. Libshitz\nmagna cum laude\nSuper Bowl XXX\nmedieval erection of parapets\nevaluate\nmocha\nexpression\nArsenal canal\nclassic\nTyson Gay\nDick Van Dyke\nbasement\n\n#\tHuman injection\n#\n#\tStrings which may cause human to reinterpret worldview\n\nIf you're reading this, you've been in a coma for almost 20 years now. We're trying a new technique. We don't know where this message will end up in your dream, but we hope it works. Please wake up, we miss you.\n\n#\tTerminal escape codes\n#\n#\tStrings which punish the fools who use cat/type on this file\n\nRoses are \u001b[0;31mred\u001b[0m, violets are \u001b[0;34mblue. Hope you enjoy terminal hue\nBut now...\u001b[20Cfor my greatest trick...\u001b[8m\nThe quic\b\b\b\b\b\bk brown fo\u0007\u0007\u0007\u0007\u0007\u0007\u0007\u0007\u0007\u0007\u0007x... [Beeeep]\n\n#\tiOS Vulnerabilities\n#\n#\tStrings which crashed iMessage in various versions of iOS\n\nPowerلُلُصّبُلُلصّبُررً ॣ ॣh ॣ ॣ冗\n🏳0🌈️\n"
  },
  {
    "path": "SwiftHashTests/Info-Mac.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": "SwiftHashTests/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>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "SwiftHashTests/Info-tvOS.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": "SwiftHashTests/Tests.swift",
    "content": "import XCTest\n@testable import SwiftHash\n\nclass Tests: XCTestCase {\n\n  func testHelper() {\n    XCTAssertEqual(str2rstr_utf8(\"hello\"), [104, 101, 108, 108, 111])\n\n    let hello = str2rstr_utf8(\"hello\")\n    let world = str2rstr_utf8(\"world\")\n    let google = str2rstr_utf8(\"https://www.google.com\")\n\n    XCTAssertEqual(rstr2tr(hello), \"hello\")\n    XCTAssertEqual(rstr2tr(world), \"world\")\n    XCTAssertEqual(rstr2tr(google), \"https://www.google.com\")\n\n    XCTAssertEqual(rstr2binl(hello), [1819043176, 111])\n    XCTAssertEqual(rstr2binl(world), [1819438967, 100])\n    XCTAssertEqual(rstr2binl(google), [1886680168, 791624307, 779581303, 1735356263, 1663985004, 28015])\n\n    XCTAssertEqual(rstr2hex(hello), \"68656C6C6F\")\n    XCTAssertEqual(rstr2hex(world), \"776F726C64\")\n    XCTAssertEqual(rstr2hex(google), \"68747470733A2F2F7777772E676F6F676C652E636F6D\")\n\n    XCTAssertEqual(Int32(-991732713) << Int32(12), 901869568)\n    XCTAssertEqual(Int32(991732713) << Int32(12), -901869568)\n    XCTAssertEqual(zeroFillRightShift(-991732713, (32 - 12)), 3150)\n\n    XCTAssertEqual(bit_rol(1589092186, 17), 1052032367)\n    XCTAssertEqual(bit_rol(-991732713, 12), 901872718)\n\n    XCTAssertEqual(md5_cmn(-617265063, -615378706, -617265106, 0, 17, -1473231341), 434767261)\n\n    XCTAssertEqual(md5_ff(271733878, -615343318, -271733879, -1732584194, 32879, 12, -389564586), 286529400)\n\n    XCTAssertEqual(binl_md5(rstr2binl(hello), hello.count * 8), [708854109, 1982483388, -1851952711, -1832577264])\n    XCTAssertEqual(binl_md5(rstr2binl(world), world.count * 8), [925923709, -2046724448, -2113778857, -415894286])\n  }\n\n  func testMD5() {\n    XCTAssertEqual(MD5(\"hello\"),\n                   \"5D41402ABC4B2A76B9719D911017C592\")\n    XCTAssertEqual(MD5(\"world\"),\n                   \"7D793037A0760186574B0282F2F435E7\")\n    XCTAssertEqual(MD5(\"https://www.google.com\"),\n                   \"8FFDEFBDEC956B595D257F0AAEEFD623\")\n    XCTAssertEqual(MD5(\"https://www.google.com/logos/doodles/2016/parents-day-in-korea-5757703554072576-hp2x.jpg\"),\n                   \"0DFB10E8D2AE771B3B3ED4544139644E\")\n    XCTAssertEqual(MD5(\"https://unsplash.it/600/300/?image=1\"),\n                   \"D59E956EBB1BE415970F04EC77F4C875\")\n    XCTAssertEqual(MD5(\"\"),\n                   \"D41D8CD98F00B204E9800998ECF8427E\")\n    XCTAssertEqual(MD5(\"ABCDEFGHIJKLMNOPQRSTWXYZ1234567890\"),\n                   \"B8F4F38629EC4F4A23F5DCC6086F8035\")\n    XCTAssertEqual(MD5(\"abcdefghijklmnopqrstwxyz1234567890\"),\n                   \"B2E875F4D53CCF6CEFB5CDA3F86FC542\")\n    XCTAssertEqual(MD5(\"0123456789\"),\n                   \"781E5E245D69B566979B86E28D23F2C7\")\n    XCTAssertEqual(MD5(\"0\"),\n                   \"CFCD208495D565EF66E7DFF9F98764DA\")\n    XCTAssertEqual(MD5(\"https://twitter.com/_HairForceOne/status/745235759460810752\"),\n                   \"40C2BFA3D7BFC7A453013ECD54022255\")\n    XCTAssertEqual(MD5(\"Det er et velkjent faktum at lesere distraheres av lesbart innhold på en side når man ser på dens layout. Poenget med å bruke Lorem Ipsum er at det har en mer eller mindre normal fordeling av bokstaver i ord, i motsetning til 'Innhold her, innhold her', og gir inntrykk av å være lesbar tekst. Mange webside- og sideombrekkingsprogrammer bruker nå Lorem Ipsum som sin standard for provisorisk tekst\"),\n                   \"6B2880BCC7554CF07E72DB9C99BF3284\")\n    XCTAssertEqual(MD5(\"\\\\\"),\n                   \"28D397E87306B8631F3ED80D858D35F0\")\n    XCTAssertEqual(MD5(\"http://res.cloudinary.com/demo/image/upload/w_300,h_200,c_crop/sample.jpg\"),\n                   \"6E30D9CC4C08BE4EEA49076328D4C1F0\")\n    XCTAssertEqual(MD5(\"http://res.cloudinary.com/demo/image/upload/x_355,y_410,w_300,h_200,c_crop/brown_sheep.jpg\"),\n                   \"019E9D72B5AF84EF114868875C1597ED\")\n    XCTAssertEqual(MD5(\"http://www.w3schools.com/tags/html_form_submit.asp?text=Hello+G%C3%BCnter\"),\n                   \"C89A2146CD3DF34ECDA86B6E0709B3FD\")\n    XCTAssertEqual(MD5(\"!%40%23%24%25%5E%26*()%2C.%3C%3E%5C'1234567890-%3D\"),\n                   \"09A1790760693160E74B9D6FCEC7EF64\")\n  }\n\n  func testMD5_Data() {\n    let data = \"https://www.google.com\".data(using: String.Encoding.utf8)\n    XCTAssertEqual(MD5(String(data: data!, encoding: String.Encoding.utf8)!),\n                   \"8FFDEFBDEC956B595D257F0AAEEFD623\")\n  }\n\n  func testNaughtyStrings() {\n    let path = Bundle(for: Tests.self).path(forResource: \"naughty_strings\", ofType: \"txt\")!\n    let content = try! String(contentsOfFile: path, encoding: .utf8)\n    let lines = content.components(separatedBy: .newlines)\n\n    lines.forEach { line in\n      let md5 = MD5(line)\n      XCTAssertEqual(md5.count, 32)\n    }\n  }\n}\n"
  },
  {
    "path": "script.sh",
    "content": "#!/bin/sh\n\ncurl -o ./SwiftHashTests/Fixture/naughty_string.txt -k https://raw.githubusercontent.com/minimaxir/big-list-of-naughty-strings/master/blns.txt"
  }
]